Linpack有时会开始,有时不会,但没有任何改变

时间:2010-11-16 19:37:48

标签: cluster-computing benchmarking distributed-computing mpich

我在带有Xeon处理器的双节点集群上安装了Linpack。有时如果我用这个命令启动Linpack:

  

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

linpack启动并打印输出,有时我只看到打印的mpi映射,然后没有任何跟随。对我来说,这似乎是随机行为,因为我不会在调用之间进行任何更改,如前所述,Linpack有时会启动,有时不启动。 在top我可以看到xhpl_intel64进程已经创建并且他们正在大量使用CPU但是在观察节点之间的流量时,iftop告诉我它没有被发送。< / p>

我使用MPICH2作为MPI实现。这是我的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)

EDIT2:

我现在让程序运行一段时间,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问题吗?

你知道这可能是什么类型的问题吗?

1 个答案:

答案 0 :(得分:2)

我弄清楚问题是什么:MPICH2每次启动都使用不同的随机端口,如果这些被阻止,您的应用程序将无法正常启动。 MPICH2的解决方案是将环境变量MPICH_PORT_RANGE设置为START:END,如下所示:

  

导出MPICH_PORT_RANGE = 50000:51000

最佳, 海因里希·