2009年10月10日土曜日

PCSDP まだまだ続行中

今日もクラスタが頑張ってくれて、計算を続行中。
PCSDPの出力結果をまとめる Python スクリプトを書いたので、結果がとても見やすくなった。

Python は結果ファイルの整理などの文字列処理に圧倒的に役に立つので、コンピュータで数値計算をする人はできるだけ覚えたほうがいいと思う。Python でなくても Perl や Ruby でもいいけど、Python, Perl, Ruby のなかでひとつだけ覚えるのであるなら、一番簡単に覚えられる Python がおすすめ。今は、TeX のスタイルで計算結果をまとめて表示するようにしている。

これでいままでの計算時間を測定すると PCSDP に 21 万秒程度、SDPARA に 46 万秒程度かかっていて(SDPARAはスレッド数も変更して実行を繰り返しているので、余計に時間がかかる)、合計でざっと 69 万秒。一日が 8 万 6400 秒なので、記録に残っているだけでも 8 日程度。

並列計算のプログラムは台数を変更しながら実験していくので、並列でないプログラムの動作確認の何倍も時間がかかる。ここで時間がかかる分、出来上がるソフトウェアが時間短縮をしてくれる(ことになっている)。

ただし、実際にはデバッグから予備実験などを含めると、クラスタを 20 日程度はフルに実行している。そろそろ休憩を入れないと、クラスタが消耗してしまうような気がしてきた。
でも、まだロードバランスを記録するための実験なども必要で、クラスタのお休みはもうちょっと先になりそうだ。