MPICH2

キッチンで分散メモリ環境を作ってしまおうの段

環境

  • Fedora6 *3
  • Gigabit LAN

インストール

  • yumのレポジトリを探すもMPICH2はみつからず。あきらめて本家サイトからソースを落としてインストール。特にパラメータの指定は行わず。
  • /etc/hostsに
    127.0.0.1 localhost hostmname
    のようなエントリがあるとmpdbootのときに
    failed to handshake with otherhosts on mpd
    のようなエラーが出る。/etc/hostsの該当箇所をコメントアウトしたら出なくなった。
  • NASAのMPIベンチマーク(NPB)をDLして展開。READMEをよむと
    NPB_DIR/conf/make.def.sample
    を修正せよとのこと。
    MPICC=cc
    となっていたのを
    MPICC=mpicc
    に直し、
    -L/usr/local/lib -lmpi
    となっていたのを
    -L/usr/local/lib
    に直した。適当です。不適切であれば誰か指摘してほしいです。
  • リネーム
    mv NPB_DIR/conf/make.def.sample  NPB_DIR/conf/make.def 
  • コンパイル。Cで書かれているのはISというプログラムだけなので、
    make is CLASS=B NPROCS=2 
    てな感じでコンパイル。CLASSは問題の規模、NPROCSは同時に走らせるプロセス数。
  • 分散メモリで処理してみる。とりあえず
    mpdboot -n 2 -f ~/mpd.hosts

    mpiexec -n 2 `pwd`/bin/is.B.2
    と叩くと勝手に走り出す。処理中、プロセスが走っているはずの端末にSSHしてtopを見てみると、is.B.2なるプロセスが走っているではないか!成功!

考察

  • 3台のうち、2台は別室にある。この2台の間で分散処理をさせるとやはり早い。手元にある1台と別室の1台で分散処理をさせると遅い。ネットワークの良し悪しが性能を大きく左右することがわかった。

comment

#comment_kcaptcha


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-08 (日) 18:59:00 (5303d)