No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 764 | 765 | 766 |...| 1108 | 1109 | 1110 || Next»

元のプログラムに勝つ

ガーッと6時間くらい連続でプログラムを書いて午前のミーティング前にデバッグもほぼ終了.昼に最後のバグ取りをして完成.

とりあえず,共有メモリなマシン上のMPIで動かして,元のOpenMPのプログラムに比べて数%速い程度の性能になった.バリア同期を全く使わずにバトンの受け渡しのみで全体を動かしていることと,各プロセッサの走る領域が固定なのでキャッシュ効率が高くなってたりすることのメリットがMPIのオーバヘッドを上回ったか? とりあえず24コアで16倍を超えるので満足した.巨大なクラスタで試してみたいけれど使えるクラスタが生きてねぇ……

さらなるチューンとしては,次のプロセッサへのバトン渡しを複数回分まとめて行うようにして,さらに複数回の走査を細切れに折返して進めるようにして1次キャッシュを有効利用する…… とかやると速くなるかなぁ.試してみないとわからんけど速くなったら楽しいな.

閑話休題.

でもなぁ,この計算ってどんだけ需要があるのかよく分からないという問題が…… 今回のを似たような計算に応用できるといいなぁ.

引き続きプログラムを書く

とはいえ余計な事務作業に時間を取られて大枠の構造を作ったのみ.細かい境界部分の例外処理などはまだまだ.ここらの境界の処理を自動でどうにかしてくれるシステムが恋しい.

計算の仕様を元プログラムから読み取って理解する必要があるのだけど,ちょっと勘違いしていた部分があることに気づいた.考えていたのと逆方向の通信も必要になるのか…… ちょっと全体の流れを見直す.

久々にMPIでプログラム(というかアルゴリズム)を組み始める

配列を先頭から末尾まで順に走査して値を更新していくことを繰り返す反復アルゴリズムをMPIでパイプラインな並列プログラムに書き換えるという作業を始めた.既に OpenMP でタイミングをずらした走査を並列に走らせるという並列化がなされているのだけど,分散環境ではデータをあまり動かしたくないので各プロセッサは自分の担当領域内だけを走って次にバトンを渡すという方式に変える.走査を繰り返す間に段々と末尾が無くなっていくのでデータの再配置も適宜必要.めんどい.

とりあえず学生の作った別方式のMPIプログラムに勝つことを目標にがんばる.月曜までには結果を出したい.

Let'snoteにヒビが入って欠けた

何か知らんけど力が集中する場所だったのか暫く前からヒビが入ってた部分が気づいたら欠けてた.Let'snote4台目にして初めての破損.うーん……

閑話休題.

黒はんぺんうめェ.

新年会

酒もおでんも好評だったので良かった.皆様お疲れ様.

閑話休題.

出席率もう少し高くなるといいなぁ.

帰ってきた

どうやら席替えの原因はストレッチャー+人+ドクター+付き添いのセットらしかった.International SOS とかいうユニフォームも飛行機に乗ったストレッチャーも初めて見た.まあ,何かあってもこうやって日本に送られてこられるのかと思う一方,金額的にどんだけかかるんだろうとか現実的な問題も気になるとろ.

それはさておき,前の椅子の下に邪魔な箱があって足が伸ばせない席に移らされたのはやっぱ微妙だったなぁ.

«Prev || 1 | 2 | 3 |...| 764 | 765 | 766 |...| 1108 | 1109 | 1110 || Next»
Search
Feeds

Page Top