1

MPIクラスターをセットアップしようとしています。しかし、mpd.confファイルに追加されたCPUの数が正しく使用されていないという問題があります。私は3つのUbuntuサーバーを持っています。48コアのopteron8コアのcalc18コアのcalc2。

私のmpd.hostsは次のようになります:
opteron:46
calc1:6
calc2:6

起動後(mpdboot -n 3 -f mpd.hosts)、システムが実行されています。mpdtrace->3つすべてが一覧表示されます。

しかし、「mpiexec -n 58 raxmlHPC-MPI ...」のようなプログラムを実行すると、calc1とcalc2は多くのジョブを取得し、同時にopteronは少数になります。私は何が間違っているのですか?

よろしく

ビョルン

4

2 に答える 2

1

回避策を見つけました。mpiexecコマンドに追加のパラメーター「-machinefile/path/to/mpd.hosts」を使用しました。そして今、すべてのノードが正しく実行されています。私が得た問題の1つは、次のエラーメッセージが表示されることでした。

... MPIU_SHMW_Seg_create_attach_templ(671):開くことができませんでした-そのようなファイルまたはディレクトリはありません...

それを修正するには、環境変数を設定する必要がありましたMPICH_NO_LOCAL=1

于 2010-11-01T15:26:22.790 に答える
1

ご存知のとおり、ホストごとのプロセスカウントを使用するには、マシンファイルをmpdbootとの両方に渡す必要があります。mpiexec「オープンに失敗した」問題は、使用しているプロセスマネージャであるMPDの既知のバグです。MPICH_NO_LOCAL=1回避策は機能しますが、ノード内通信のパフォーマンスが大幅に低下する可能性があることに注意してください。

明らかにMPICH2(またはMPICH2派生物)を使用していますが、使用しているバージョンが明確ではありません。可能であれば、MPICH2 1.2.1p1または(さらに良い)1.3.1にアップグレードすることを強くお勧めします。これらのリリースには両方とも、はるかに高速で堅牢なhydraと呼ばれる新しいプロセスマネージャーが含まれています。1.3.1では、hydraがデフォルトのプロセスマネージャーです。mpdbootフェーズは必要ありません。また、$HYDRA_HOST_FILE環境変数をサポートしているため、ごとにマシンファイルを指定する必要はありませんmpiexec

于 2010-11-18T20:37:11.033 に答える