2012年9月25日火曜日

MPI+NHモデルの実装

DDの課題としてNon-Homogeneousモデルを使える系統解析ソフトの並列化ってのをやってきたけど、OpenMPの実装から始め、本日漸くMPIでの並列計算を実装したプログラムを書き上げることができた。

メモリを連続にmallocしたりとか、プロセスごとにどのように計算を分担し結果を集約するかを色々試したりとか、OpenMPと比べてかなり難しい部分があったけど、HPCS研の方々の多大な協力を経て無事バグを乗り越え正常動作までこぎつけた。

まあまだ「出来ただけ」なので、これからやることはたくさんある。通信に費やされるデータを上手くパッキングしてデータ量を如何に少なくするかにチャレンジしたり、OpenMPとMPIを両方備えたHYBRID版を作ることにチャレンジしたり、最終的にはOpenMP, MPI以外のさらに効率的な並列化手段を実装させたり、コンピュータサイエンス側からみればまだまだ工夫することは山ほどある。

それに、今は塩基配列データに対する既存の1種類のNHモデルが使えるだけで、1本の系統樹の尤度計算しかできないけど、プログラムの根本的な部分をもっと弄っていけば、よりフレキシブルなモデルが使えたり、アミノ酸配列を使った解析ができたり、系統樹の探索まで行えるようになるだろう。そこまでに行き着くのには更に問題が色々ありそうだが、まずは最初の壁が超えられたようで嬉しい。


さて、まずはデータを取って、3週間後のCSセミナーの準備に取り掛からないかん。そして11月に行く予定の国際学会までにHYBRID版まで作ってしまいたいところ。

0 件のコメント: