2009-01-01から1ヶ月間の記事一覧
今日は、一歩も外に出ないようにしようと思った。 平日も痛めた膝をなるべく使いたくないが、なかなかそうはいかない。通勤だけで階段を500段くらいそれぞれ上り下りしなければいけない。ならないというか、ふだんはこれで多少はトレーニングになっているか…
スケジューリングしたペアの左側がわかったので、ペアの和もわかればよい。その和を再掲すると、 [ 1, 5, 9, 13, 17, 21, 25, 29] [ 2, 4, 10, 12, 18, 20, 26, 28] [ 3, 3, 11, 11, 19, 19, 27, 27] [ 4, 6, 8, 10, 20, 22, 24, 26] [ 5, 5, 9, 9, 21, 21, …
2のべき乗個の組合せのスケジュールは簡単なアルゴリズムで得られるらしいことがわかったが、このスケジュールをPythonで求めるとかなり遅い。しかし、よく見るとこのスケジュールには規則性がある。例えば、n=16のときのスケジュールは次のようになる。 [0,…
http://www.runnet.jp/result/detail.php?ses_competition_id=7497これを見る限りでは、2kmで100人以上に抜かれたっぽい。
多体問題で、GPUで計算するとどうしても質点同士の相互作用を2回計算をしてしまっていた。例えば、質点0と質点1について考えると、質点0に及ぼされる相互作用を計算するときに質点1から作用を計算し、質点1に及ぼされる相互作用を計算するときに質点0から作…
あの風にやられたレースから1年、リベンジするときがやってきた。と言いたいところだが、5kmより長い距離をちゃんと走るのは1ヶ月ぶりというていたらく。そんな状況ではない。 去年とちがって満員のシャトルバスで会場に乗り込む。体育館の受付は、なぜか並…
今日は寒い。と思ったので、昨日の夜に走っておいた。感触からすると、明日は完走が目標で。でも1時間45分くらいでは走っておきたい。 明日の一色の9時の気温は0℃だそうで。風はどうか知らないけど、海岸沿いは西からの風がきついんだろうなあ。短パンじゃ厳…
重力を計算するところ、 float dx = diff_x(sx[i], x); float dy = diff_x(sy[i], y); float dist_square = dx * dx + dy * dy; float d = dist_square * sqrt(dist_square); ax += dx / d; ay += dy / d;ここで、sqrtを使っているが、実は、 sqrt(x) = x / …
前回遅かったのは、グローバルな配列に何度もアクセスしていたためと思われる。共有メモリというものがあって、こちらは速いので、これを使うことを考える。 説明しやすくするために、4096個の質点に0〜4095のIDを振っておこう。共有メモリは、ブロックの中…
まだ概要のみ。 中2男子の1500mの平均が395.71秒。この手の調査を見るたびに思うが、びっくりするくらい遅い。子供のころ足遅いほうだったけど、こんなには遅くなかった。標準偏差は62.56秒。つまり、キロ5分で走れない子がゴロゴロいることになる。一方、5…
ネタがないので、浮動小数点数の問題をみてみる。 n個の質点が互いに重力による相互作用を及ぼしあう問題を考える。なるべく多くの質点を用いたいが、ここでは4096個の質点の計算をする。また、これらはトーラス面上にあるとする。1×1の正方形を用意し、上下…
去年21:02だったので、今年は20分を切りたかった。が、故障等あってそれも無理になった。今日は22分半を基準に、余裕があればペースを上げる感じで。去年はわけもわからず走って横っ腹が痛くなって、それでも自己ベストが出たが、今回はいちおう距離を地図で…
先週の木曜日にゆっくり通勤ランしていたら、またふくらはぎが痛くなった。それから数100mの短い距離以外は走っていなかった。 ゆっくりペースから入って、少しペースを上げたが、これ以上ペースを上げる気にならない。3kmでストップウォッチを押すのを忘れ…
前にも取り上げたが、コラッツの問題というのは、どの自然数も、奇数なら3倍して1を足す、偶数なら2で割る、という操作を繰り返すといつか1になるか、というものである。例えば、 7→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1 となる。 数値実験では、今の…
ガウスの故事にならって、1000個ずつ区切って素数の個数を数える。1001〜2000に135個、2001〜3000に127個ある。nを1500、2500、…として、横軸を1/log n、縦軸を素数の個数としてプロットした。 素数の密度は、ほぼ1/log nになっていることがわかる。これを素…
こんなデータがあったとする。 1 2 35 1 2 34 5 67 8 91 2 34 5 67 8 91 2 45 6 78 9 1 2 34 5 67 8 91 2 34 5 67 8 91 2 34 5 67 8 91 2 34 5 67 8 91 2 34 5 67 8 9 1 2 35 1 2 34 5 67 8 91 2 34 5 67 8 91 2 45 6 78 9 1 2 34 5 67 8 91 2 34 5 67 8 91 …
GPUというとふつうはfloatの計算だが、あまり興味はない。やっぱり整数の計算をしたい。整数の計算速度はどんなもんだろう。適当に加乗除のコードで試してみた。 __global__ void int_add(int *data, int width, int height, int nRep) { unsigned int xInde…
コードは書けるようになったものの、あまりよくわかっていない。しかし、いちおう解説をしておこう。GPUは、元々画像処理をするものなので、画像をGPUに送る。データは1次元だが、 const unsigned int size_x = 1024; const unsigned int size_y = 1024;とい…
まず、このへんから開発ツールを落としてくる。http://www.nvidia.co.jp/object/cuda_get_jp.htmlそれから、libとincludeにパスを通す。 サンプルを参考にして、前にやった数値積分の問題をCUDAで計算する。http://d.hatena.ne.jp/inamori/20080312/p1フルソ…
GPUを使うと計算速度が桁違いに上がることがあることは前にも紹介した。 しかし、GPUを動かすためのシェーダプログラミングはやや独特で、それ以上にGPUを動かすための準備に膨大なコードが必要で、かつ見通しも悪い。そこでCUDAである。 http://www.nvidia.…
久々の運動公園の陸上競技場は貸切状態。ローラーブレードの人はたくさんいるのになぜだろう。一人でトラックを走るのは精神的に無理。 2000m走って、上着を脱いで、そこからインターバル。400m−1000m−400mで。せいぜい4:10くらいだろうと思って走る。最初が…
1週間以上休んでいたのでそろそろだいじょうぶかなと思って走ってみた。実はまだ日常生活でなんとなくおかしいと思うことがある。 最初はゆっくり。しかし、ときどきふくらはぎが疼く。1kmからペースを上げる。腹筋を使って腰を高くしてなるべくふくらはぎを…
http://www.nagoya-city-marathon.jp/record_new.html ハーフの参加者は3445人。 前に行ったサンプル調査との結果を合わせると、2500人くらい抜いたことになる。
こんなデータがあったとする。 1 2 3 4 5 68 9 4 5 68 9 4 5 68 9 6 8 9 7 4 6 89 4 6 5 4 6 1 2 34 6 78 9 1 2 34 6 78 9 1 2 34 6 78 9 1 3 68 9 1 3 46 8 91 3 46 8 9 7 8 9 1 3 46 1 3 46 1 3 46 1 3 6 2 5 2 3 56 8 91 3 67 9 1 2 56 7 81 2 35 6 78 9 …