0

FORTRAN プログラム内で mprirun を呼び出す方法はありますか? 私はssh経由でパブリックLinuxクラスターに取り組んでおり、主なアイデアは、実行が終了した後にプログラムを自動的にキューに入れることです。

プログラムの最後に次のようなものを書き込もうとしました。

CALL system('mpirun -np 16 -maxtime 100 TestNP')

しかし、このエラーを受け取りました:

sh: mpirun: command not found

何か案は ?

4

1 に答える 1

2

問題はパスの接頭辞がないため、mpirun の絶対パスを指定すると役立つはずです。ただし、アプローチにはいくつかの問題があります。

  • すべての MPI プロセスが実行する場合、実行中のインスタンスが多すぎるため、1 つのノード (マスター ノードなど) のみが実行する必要があります。

  • system() 呼び出しを介して呼び出されたプログラムが終了しない限り、元のプログラムは終了しません。したがって、キューが壁時計に制限されている場合、何も得られません.

通常、このようなタスクはシェル スクリプトを介して実行されます。たとえば、Bash では次のように記述します。

while true; do
  mpirun your_program
done

これにより、ユーザーまたはキュー システムによって強制終了されなくなるまで、mpirun が継続的に再起動されます。(だからをつけてね!)

于 2013-01-09T12:12:52.020 に答える