/Members/chinone/Diary

Diary January, 2008

 

19日Sat.

あけましておめでとうございます。 本年もよろしくお願いします。

年末から年始にかけて、日記の更新をサボっていましたが、 再開したいと思います。 サボっていた、というよりは、 修論で忙しすぎて、更新している「精神的余裕」がなかったという方が正しいです。

修論は無事提出されました!

修論提出して一件落着、 というわけにはいかず、早速間違いを見つけてしまいました。 結構痛いです。 計算をやり直さなければならないところを見つけてしまいました。 結構痛いです。

small-scale: l>1000の計算、 周辺尤度の計算には時間がかかる。 後々問題になってくる。 早いうちから最適化(並列化)を行うべし。


20日Sun.

何時もどおりに出勤。 やはり「提出した」ということで、 緊張感がなくなった感じ。

昨日も書いたが、 今までなんとなく考えてきた並列化について調べる。 今まで、計算時間(time)、CPU使用率、real time、user timeで並列化・計算速度を考えてきたが、 客観的指標がほしいと思った。

よくFLOPSが計算機の性能として用いられる。 FLOPSは

FLOPS
Floating point number Operations Per Secondの略で、コンピュータの性能指標の一つ。1秒間に浮動小数点数演算が何回できるかを表す。 である。

色々と計算の方法はあるが以下のものを作成:

結果:

mflops.png

因みに並列化できる環境でも、並列化していません。

上のサイトを見ると、最大限のパフォーマンスを得るためには、 一次キャッシュ、二次キャッシュのサイズを考えてプログラミングしなければならない、とある。 上の図でパフォーマンスが落ちているのは、 二次キャッシュがあふれたからです。 一次キャッシュのあふれは、一次キャッシュに対して最適化していないので見えません。 最適化していれば、もっとパフォーマンスを上がっていて、 あふれるのも見えるはずです。

そこまでの最適化をやるべきなのか・・・。 つまりHealpixのオーダー、バンドの数及び、 使うCPUの一次、二次キャッシュの情報をもとに最適な並列化(配列の最適化)をしろと。

今日はこの辺で・・・。

電脳コイル、攻殻機動隊みたいです。 生きてるうちに「電脳」は実用化されているだろうか?


21日Mon.

一次キャッシュの最適化(結合変換)した場合の結果:

確かに「結合変換」すると、FLOPSが改善されます。 でも実際の解析でここまでやるかというと微妙。

そもそも、自分の場合(Metropolisの場合)、

  1. MCMCを実行する
  2. その為には、1chainを計算するためにchisq0, chisq1を計算して、採択するかしないかを決める。
  3. chisqはピクセル、周波数で和をとる。
  4. 和をとるのは配列と関数
  5. 関数をいちいち配列に代入してから、結合変換する

とした場合、FLOPSはよくなるかもしれないが、 計算時間自体は長くなってしまう。

Members/chinone/覚書/並列化

map2almの計算時間を計ってみたが、O(N_{\rm pix}^{3/2})に従っていない。 傾きは予想より緩やか。 きつくない分にはいいが、精度は大丈夫かな?

ku.jpg

22日Tue.

今日は大遅刻。 時間を無駄にしてしまいました。 昨日夜更かししたのが原因です。 「映像の世紀」は傑作です!

今日も計算機がらみ。 ベンチマーク、最適化関連は一通り終わったので、 実際のコードを検証。 どこが足をひっぱているのか。

以前から分かっていたことだが、 もっともCPUを無駄に使っているのはMRF(:マルコフ確率場)を計算している所。 1 pixelの値を計算するのに、周囲8 pixelを計算する必要がある。 ここを何とかしなければと思っていたが、 根本を見落としていることに気付く。

あるpixelのForegroundサンプリングを行なう際は、 対象のpixel「だけ」について確率を計算すればよい。 つまり周波数についてだけ残差自乗+priorを計算すればよい。 この操作をnpix個行なえば良いのである。

・・・

ここを並列化すれば良いのである。 見落としてました。 CMBのサンプリングは並列化していたのに、 Foregroundのサンプリングは並列化していませんでした。 律儀に一個のCPUでnpix回計算していました。 その結果、sys timeを増やすことなく、real timeがcpu timeのN_cpu分の一になりました。

この並列化の元で1 chainで

  • CMBのサンプリングに0.1300秒、
  • Amplitudeのサンプリングに0.2900秒、
  • Spectral Indexのサンプリングに0.3200秒、
  • Clのサンプリングに0.0100秒

    つまり、0.75秒かかります。 これをPC Clusterで実行すると、約半分。 40000chains計算すると約三十分です。

k=4ではCMBよりForegroundのサンプリングの方が時間がかかっていますが、 CMBは計算時間がO(N_{\rm pix}^{3/2})で増加するのに対し、 Foregroundは計算時間がO(N_{\rm pix})で増加するので、 いつかCMBがForegroundを追い越します。

p_cf_time.png

l=1000, k=10(Npix=10^7)のときの計算時間を考える(PC Cluster使用)。 図から1 chainに500/2secかかるから、 4000chain計算するには、277.8時間つまり12日かかる。 これはCPUを4つ使った場合である。 中・大規模の共有メモリ型のPC Clusterの場合64 CPUぐらいで考えると、 17時間である。無理な時間ではない。

昨日の結果からは、 CMBの計算がO(N_{\rm pix}^{3/2})でなく、 O(N_{\rm pix})で変化している。 この場合、 1 chainに100/2secかかるから、 4000chain計算するには、55.6時間つまり2.3日かかる。 これはCPUを4つ使った場合である。 中・大規模の共有メモリ型のPC Clusterの場合64 CPUぐらいで考えると、 3.4時間である。無問題。

ピクセル間のノイズに相関がある場合は置いといて、 取り敢えずl=1000まで計算する見込みは付いた。 ・・・・実の所、修論でここの考察を大間違いしているんです。

拡張現実感技術

電脳コイルの世界はもう間近!

帰る足がないので大学で寝ます・・・・。


23日Wed.

修論のsummaryの「今後の課題」で書いたことの一つをクリアしてしまったのだが、 これはどうするべきなのか? 結果に付け加えて、summaryを消すのがいいのですか?

「いい」結果なので載せたいとは思います。 マルコフ確率場(MRF)とか小難しいもの(本人は理解してますよ・・・)使って何がうれしいんですか?、 と言われない結果だと思う。 χ自乗は

\chi^2 = \sum_i^N (d-f)^2/\sigma^2

とかける。

fがよい推定の場合d-f\sim \sigmaとなるので、 \chi^2/N\sim 1である。 いくらよい推定でもノイズが存在するので、 左辺が壱より小さくことは(あまり)ない。 むしろ、壱より小さすぎると「あいすぎる」ことになり、疑わしくなる。

しかしながら、f以外に何か情報、事前情報があった場合、 その限りではない。 例えば、「あるpixel iのデータはf(i)というき式で記述できる」に加え、 「f(i)は隣のピクセルと滑らかに接続する」といった具合だ。 pixel毎にデータの回帰で制限をつけながら、 更に隣接するピクセルと比較、つまり空間分布から制限をつける。 それによりノイズレベルを超えた推定が出来る(少し語弊がある・・・)。

今日は折角早く帰ったのに、結局この時刻(00:14)まで起きてしまっている。 おやすみなさい。

uwo.jpg

QUIET, KEK, 受託・・・、正直面白そうだ。でも今の研究をどうするか?、AKARIをどうするか?色々考えることがある。がーーーーーーー、すぐには分からん!

明日は証明写真を撮ろう。

そろそろトラペつくり始めます。


24日Thu.

大学院博士課程後期の進学願いを提出しました。 修論(発表)・単位に問題がなければ、来年度から後期過程に進学です。

作業が進みません。

http://www.youtube.com/watch?v=cQ2wmKvuVqI

HDDの中の人は大変そうです。


26日Sat.

昨日は薬を飲んだので更新せずに寝てしまいました。 それが原因か意志が弱いだけなのか分かりませんが、 今日は午後から出勤でした。

トラペ作りにようやく着手。 来週の頭には準備しとけ、と指導教官から言われているので。

例のことも教官と話す必要がありますので、 さくっといきましょう。

大量のファイルを「rm」、「grep」等する際に、

  • Argument list too long.
  • Arg list too long.
  • 引数が多すぎます

とか言われる場合がある。 これを回避する為に「xargs」を使うのだが、

xargs: Argument list too long.

と怒られた。どないせっちゅねん。


28日Mon.

修論発表会を前に、生活が乱れています。 直さなければ。

修論発表会はまだなわけですが、 なんだかんだいって安心しきっている自分がいる。 結果の解釈、今後のことについて必ずしもばら色でないのに、 取り敢えず修論提出したし、という感じになっているのだと思う。

ここにきて別の問題も生じてきていますし・・・・。

修論がすべて片付いたらiPodでも買う、 と自分に褒美でも用意してがんばります。

才能の無駄遣い! これはモーションを手で入力しているのか? それとも動きをトレースすして合わせているのか?

sen.jpg

これって仙台?


添付ファイル: filesen.jpg 538件 [詳細] file2008011306.jpg 350件 [詳細] fileuwo.jpg 563件 [詳細] filep_cf_time.png 533件 [詳細] fileku.jpg 542件 [詳細] filemflops_un.png 558件 [詳細] filemflops_un.cc 701件 [詳細] filemflops.png 570件 [詳細] filemflops.cc 704件 [詳細]