1ノード、2プロセッサ、12コアクラスタでMaterials Studioというソフトウェアを実行するようにmpirunとmpiexecを設定しようとしています。 PBSにプロトコルを送信します。すべてが正しく設定され(助けられて)、ジョブを送信でき、正常に動作しますが、数日後に問題が発生し、次のエラーが発生します。
mpiexec_server.org:ローカルmpd(/tmp/mpd2.console_user)に接続できません。考えられる理由:1.このホストで実行されているmpdがありません。 2. mpdは実行中ですが、「コンソール」(-nオプション)なしで起動しました。
mpdデーモンは何とか設定されていますが、最終的に終了したようです。私のコミットスクリプトに次の(太字)を追加することは幸運でした。
export PATH=/data1/opt/MD/Linux-x86_64/IntelMPI/bin:$PATH
export LD_LIBRARY_PATH=/data1/opt/MD/Linux-x86_64/IntelMPI/lib:/data1/opt/MD/Linux-x86_64/IntelMPI/bin:/data1/opt/MD/Linux-x86_64/IntelMKL/lib
**mpdboot -n 1 -f ~/mpd.hosts**
nohup mpd &
/data1/opt/MD/Linux-x86_64/IntelMPI/bin/mpiexec -n 6 /data1/opt/MD/2.0/TaskServer/Tools/vasp5.3.3/Linux-x86_64/vasp_parallel
これでジョブが送信され、正常に実行されますが、30分後にタイムアウトします。 mpdboot行の末尾に引用符なしで「-r ssh」を追加しようとしましたが、これが正しい戦略であるかどうかはわかりません。また、このスクリプトでこのデーモンを実行する理由と、実行時にホストファイルを呼び出す理由については少し混乱しています。 PBSは、ジョブの開始時にこのファイルを生成すると思いました。次はどこに行くべきかアドバイスできる人はいますか?デフォルトでは、mpiデーモンに関連する問題が原因で実行中のジョブが終了するのを防ぎます。
編集:最後の行で私のmpiexecを実行することに関連する内容を明らかにできる人はいますか?そのフォルダに正しく接続している場合は、起動コマンドを実行する必要がありますか? mpiexecの全体的な目的は、mpdの必要性を排除することです(少なくともmpiexec Webサイトによると)、なぜmpdboot / mpdを実行するのか混乱しています。
答え1
MDシミュレーションを実行しています。ただし、DL-POLYでシミュレーションを実行しようとすると、シミュレーションは開始されません。私は次のコマンドを使用しました。
$ ps aux | grep mpd
$ nohup mpd > mpd.out 2> mpd.err < /dev/null/ &
$ mpiexec -n 4 DLPOLY.X >> job.out 2> job.err < /dev/null &
$ top
これにより、最後のコマンドを使用してプロセスを表示したときにDL_POLYがないことがわかります。同時にll
コマンドを使用すると、mpd.out
値がゼロであることがわかります。なぜか分からないの?