No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 11 | 12 | 13 || Next»

グリチャレほぼ全部のCPU使用

とりあえずほぼ全てのCPU(約950)を用いてプログラムを動かすことに成功.ただ,スピードはそれほど向上していないのでどこかにボトルネックがあるらしい.とりあえずレプリカファイルを使うように改良してみて,それでも遅かったらクラスタの結果を送信するプロセスが一台しかいないのを複数台に拡張しようかなぁ.

グリチャレ上級クリア

グリチャレの上級課題をクリアした.とあるクラスタで MPI がこけまくっていたり,デバッグ情報がミックスされてしまって読みにくかったりといろいろ問題があったけど,どうにか動くものが出来上がった.

さて,次はさらなるスピードアップとバグ取りだ.とりあえず一番小さい問題を複数のプロセッサでとくとプログラム終了しないバグを殺さねば.

Socket がぁ...

グリチャレ上級課題のために socket を使ったプログラムを書こうとしているのだけれどこれがうまくコンパイルできないで悩んでいた.

というのも,どうやら htons に __extension__ とかいう文字列が記述されているようなのだが,htons の使い方を少々間違えていたためにそれがうまく解釈されずにこけまくっていた.結局は htons がマクロだったから ::htons の呼び出しでこけていたのだけど... マクロかそうでないかは注意しないと気づかないよなぁ.

グリチャレ初級クリア

グリチャレの初級課題をクリアした.約1000プロセッサを利用できる Grid において,自分のプログラムはわずか 9 個のプロセッサしか使用していない... あほすぎる仕様ではあるが,とりあえず本戦に出るためにもさっさと結果を提出を済ませた.

お次は上級用に通信をしっかりやるプログラムを書かねばならんのだけどMPIを非同期通信に使いつつ TCP/IP 通信も非同期にやるとなると結構面倒なような… とにかくがんばってみるか.

グリチャレ

今日は昨日からぶっ続けでグリチャレのプログラムを書いていた.といってもまだローカルで計算する部分のみだけど.

昨日の晩から比べると約十倍位のスピードアップを達成できたのだが,これは元のプログラムが馬鹿だったのか新しいのがいいプログラムなのだかよくわからない... でもまあ,直交座標系でのインクリメントを Morton Order に変換して実行している部分をビット操作のみにしたり,ビットフィールドをバイト単位で操作するようにテーブルを作りまくって操作したりしているので,現状のアルゴリズムではこれ以上のスピードアップは難しそうではある.ということで,現状に適当に満足しつつ次はネットワークでのやり取り部分を考えねば... 明日中に予選問題の回答が出せるといいなぁ...

ちなみにグリチャレとは,1000CPUのグリッド上でみんなで大規模計算をする問題を解いて,その解答プログラフの速さを競うものであり,どうやら30チーム程度が参加している模様.解くべき問題は巨大な白黒画像中の黒い物体の数を数え上げるというもので,その入力画像自体は複数に分割されてグリッド上に分散されている.そして,分割されたファイルにまたがる物体の存在しない初級と,またがる物体のある上級の課題があるみたい.初級はローカル計算で数えた物体の数を足し合わせるだけで簡単だが,上級はエッジの情報を伝える必要があるため通信をうまくやれるかが勝負の分かれ目になりそう.

レポート完成?

最後のレポートを完成?させた.これで単位がくれば必要単位数はカバーできるのだが,あまりにもてきとうな作りなので単位がもらえるかどうか... まあ,やる気が微妙なのでしょうがない.

«Prev || 1 | 2 | 3 |...| 11 | 12 | 13 || Next»
Search
Feeds

Page Top