1

Xeon プロセッサを搭載した 2 ノード クラスタに Linpack をインストールしました。次のコマンドで Linpack を起動すると、次のようになります。

mpiexec -np 28 -print-rank-map -f /root/machines.HOSTS ./xhpl_intel64

linpack が開始され、出力が出力されます。出力された mpi マッピングのみが表示され、その後何も表示されないことがあります。呼び出しの間に何も変更しないため、これはランダムな動作のように思えます。すでに述べたように、Linpack は起動する場合と起動しない場合があります。プロセスが作成され、CPU を大量に使用しているtopことがわかりますが、ノード間のトラフィックを監視すると、何も送信されていないことがわかります。xhpl_intel64iftop

MPI 実装として MPICH2 を使用しています。これは私の HPL.dat です:

# cat HPL.dat 
HPLinpack benchmark input file
Innovative Computing Laboratory, University of Tennessee
HPL.out      output file name (if any)
6            device out (6=stdout,7=stderr,file)
1            # of problems sizes (N)
10000         Ns
1            # of NBs
250          NBs
0            PMAP process mapping (0=Row-,1=Column-major)
1            # of process grids (P x Q)
2            Ps
14            Qs
16.0         threshold
1            # of panel fact
2            PFACTs (0=left, 1=Crout, 2=Right)
1            # of recursive stopping criterium
4            NBMINs (>= 1)
1            # of panels in recursion
2            NDIVs
1            # of recursive panel fact.
1            RFACTs (0=left, 1=Crout, 2=Right)
1            # of broadcast
1            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
1            # of lookahead depth
1            DEPTHs (>=0)
2            SWAP (0=bin-exch,1=long,2=mix)
64           swapping threshold
0            L1 in (0=transposed,1=no-transposed) form
0            U  in (0=transposed,1=no-transposed) form
1            Equilibration (0=no,1=yes)
8            memory alignment in double (> 0)

編集2:

プログラムをしばらく実行すると、30分後に次のように表示されます。

# mpiexec -np 32 -print-rank-map -f /root/machines.HOSTS ./xhpl_intel64
(node-0:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
(node-1:16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)
Assertion failed in file ../../socksm.c at line 2577: (it_plfd->revents & 0x008) == 0
internal ABORT - process 0
APPLICATION TERMINATED WITH THE EXIT STRING: Hangup (signal 1)

これはmpiの問題ですか?

これがどのタイプの問題であるか知っていますか?

4

1 に答える 1

2

問題が何であるかを突き止めました.MPICH2は起動するたびに異なるランダムポートを使用し、これらがブロックされているとアプリケーションが正しく起動しません. MPICH2 の解決策は、次のように環境変数 MPICH_PORT_RANGE を START:END に設定することです。

export MPICH_PORT_RANGE=50000:51000

最高、ハインリッヒ

于 2010-11-16T22:54:18.773 に答える