我在一个带有Xeon处理器的2节点集群上安装了Linpack。有时,如果我用以下命令启动Linpack:
mpiexec -np 28 -打印-秩-映射-f /根/机器。
linpack启动并打印输出,有时我只看到打印的mpi映射,然后什么也没有输出。对我来说,这似乎是一种随机行为,因为我不会在调用之间改变任何东西,正如前面提到的,Linpack有时启动,有时不。在top中,我可以看到已经创建了xhpl_intel64进程,它们大量使用CPU,但是当监视节点之间的通信时,iftop告诉我什么也不发送。
我使用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的问题吗?
你知道这可能是什么类型的问题吗?
发布于 2010-11-16 22:54:18
我发现了问题所在:每次启动MPICH2都使用不同的随机端口,如果这些端口被阻塞,应用程序将无法正确启动。MPICH2的解决方案是将环境变量MPICH_PORT_RANGE设置为START:END,如下所示:
出口MPICH_PORT_RANGE=50000:51000
最好,海因里希
https://stackoverflow.com/questions/4198213
复制相似问题