2016-08-23 3 views
2

Rocks v5.4.3クラスタ上のSun Grid Engineスケジューラを使用して並列MPIジョブを実行しようとしています。クラスタには22個の計算ノードを持つ "all.q"というキューがあります。そのうちの21個は8個のCPUを持ち、1個は4個のCPUを持っています。ただし、並列ジョブが実行されると、作成されるすべてのタスクは単一のノードに限定されます。複数のノードでRocksクラスタ(SGEスケジューラ)のMPIジョブが実行されない

たとえば、ジョブ投入スクリプトで16個のCPU(タスク)を要求し、qsubを使用してジョブをスケジューラに送信すると、ジョブは正常に開始されますが、16個のタスクすべてが単一のノードスケジューラによってジョブに割り当てられたノード間で分散するのではなく、

次のようにこのテストケースのためのジョブ投入スクリプトは次のとおりです。

#!/bin/bash 
#$ -N test 
#$ -cwd 
#$ -pe mpi 16 
#$ -S /bin/bash 
#$ -q all.q 
#$ -e $JOB_NAME.e$JOB_ID 
#$ -o $JOB_NAME.o$JOB_ID 

lammps=/home/Brian/lammps/lmp_openmpi 

/opt/intel/openmpi-1.4.4/bin/mpirun -machinefile $TMPDIR/machines \ 
-np $NSLOTS $lammps -in in.melt > job.log 

スケジューラからの出力ファイルは、ジョブのタスクは、次のノードに割り当てられますことを示しています。しかし

compute-1-14 
compute-1-14 
compute-1-14 
compute-1-14 
compute-1-14 
compute-1-14 
compute-1-14 
compute-1-14 
compute-1-16 
compute-1-16 
compute-1-16 
compute-1-16 
compute-1-16 
compute-1-16 
compute-1-16 
compute-1-16 

、私がsshを計算-144にしてtopgrepを実行すると、lmp_openmpiプロセスが実行されます。

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
21762 Brian 25 0 253m 87m 5396 R 99.1 0.5 2:19.60 lmp_openmpi 
21761 Brian 25 0 253m 87m 5508 R 73.3 0.5 1:50.14 lmp_openmpi 
21759 Brian 25 0 253m 87m 5804 R 71.3 0.5 1:55.38 lmp_openmpi 
21760 Brian 25 0 253m 87m 5512 R 71.3 0.5 1:36.27 lmp_openmpi 
21765 Brian 25 0 253m 87m 5324 R 61.4 0.5 1:53.11 lmp_openmpi 
21763 Brian 25 0 253m 87m 5496 R 59.5 0.5 1:53.14 lmp_openmpi 
21770 Brian 25 0 253m 87m 5308 R 59.5 0.5 1:45.21 lmp_openmpi 
21767 Brian 25 0 253m 87m 5504 R 57.5 0.5 1:58.65 lmp_openmpi 
21772 Brian 25 0 253m 87m 5304 R 43.6 0.5 1:52.24 lmp_openmpi 
21771 Brian 25 0 253m 87m 5268 R 39.6 0.5 1:51.23 lmp_openmpi 
21773 Brian 25 0 253m 87m 5252 R 39.6 0.5 1:52.02 lmp_openmpi 
21774 Brian 25 0 253m 87m 5228 R 39.6 0.5 1:47.85 lmp_openmpi 
21766 Brian 25 0 253m 87m 5332 R 29.7 0.5 1:51.18 lmp_openmpi 
21764 Brian 25 0 253m 87m 5356 R 27.7 0.5 2:09.05 lmp_openmpi 
21768 Brian 25 0 253m 87m 5356 R 21.8 0.5 1:35.28 lmp_openmpi 
21769 Brian 25 0 253m 87m 5324 R 7.9 0.5 1:50.63 lmp_openmpi 

これは16プロセスですが、topをcompute-1-16で実行すると、lmp_openmpiプロセスは表示されません。

私はこの問題についてどの程度詳細に説明したのか分かりません。それ以上の情報が必要な場合はお知らせください。私はRocksとSGEの初心者でもありますので、私の例は十分明確です。そうでない場合、私は修正するでしょう。前もっておかげです。

+0

$ TMPDIR/machinesはどのように見えますか? $ TMP /マシンではないはずですか? http://www.rocksclusters.org/roll-documentation/sge/4.2.1/submitting-batch-jobs.html –

+0

$ TMP/machinesに変更しようとしましたが、同じ結果が得られました。私は、私たちのクラスタにopenMPIをビルドする際に問題があったと思います。私はマルチ・ノードの問題を解決したインテル®コンパイラーv16.0.3とインテル®MPI v5.1.3の最新バージョンをインストールしました。しかし、提案をありがとう。 – Brian

答えて

0

問題:私たちのクラスタでopenMPIのビルドに問題があります。

解決策:マルチノードの問題を解決したIntelコンパイラv16.0.3とIntel MPI v5.1.3の最新バージョンをインストールする。

関連する問題