2

Sun Grid Engine の 1 つのジョブ スクリプト ファイルで複数の mpirun プログラムを送信する方法を知りたいです。

program1、program2、program3 .. program100 をコンパイルし、100 個のジョブ スクリプトを作成せずに、1 つのジョブ スクリプトでそれぞれが 16 CPU を使用するように、それらを同時に実行したいとします。

mpirun -np 16 program1 &
mpirun -np 16 program2 &
mpirun -np 16 program3 ....

Sun Grid エンジンの各プログラムにノードを分散するにはどうすればよいですか? (SGE のホストファイルを 100 に分割して、各 mpirun に供給できますか?)

ありがとうございました。

4

1 に答える 1

1

SGE でそのユース ケースを実装する適切な方法は、配列ジョブを使用することです。

#$ -cwd
#$ -pe mpi 16
#$ -t 100

mpirun -np $NSLOTS ./program${SGE_TASK_ID}

-t 100パラメータは 100 個のタスクの配列ジョブを作成し、それぞれが から までの範囲の環境変数で異なる値を受け取りSGE_TASK_IDます。1100

ホストファイルの分割は、MPI ライブラリと SGE 実行およびジョブ監視メカニズムとの統合に干渉する可能性があるため、望ましくありません。

于 2015-05-21T07:02:44.717 に答える