【发布时间】:2014-12-11 18:18:23
【问题描述】:
我试图在四个节点上运行 MPI 基准测试,但它总是只占用一个节点。我使用的命令如下:
mpirun -genv I_MPI_DEBUG=4 -np 4 -host mac-snb19,mac-snb20,mac-snb21,mac-snb22 IMB-MPI1 PingPong
或
mpirun -genv I_MPI_DEBUG=4 -np 4 --hosts mac-snb19,mac-snb20,mac-snb21,mac-snb22 IMB-MPI1 PingPong
这里,mac-snb19、mac-snb20、mac-snb21 和 mac-snb22 是节点。难道我做错了什么?因为我得到的输出显示只使用了mac-snb19,而且我还通过登录节点进行了检查,并且只有在mac-snb19 中我才能看到MPI 进程正在运行,而在其他情况下并非如此。部分输出在这里显示了我所说的:
[0] MPI startup(): 0 2073 mac-snb19 {0,1,2,3,16,17,18,19}
[0] MPI startup(): 1 2074 mac-snb19 {4,5,6,7,20,21,22,23}
[0] MPI startup(): 2 2075 mac-snb19 {8,9,10,11,24,25,26,27}
[0] MPI startup(): 3 2077 mac-snb19 {12,13,14,15,28,29,30,31}
benchmarks to run PingPong
你能告诉我我在这里犯了什么错误吗?
谢谢
【问题讨论】:
-
您的 MPI 实现可能会一个接一个地连续放置 4 个进程。如果您希望每个节点只有一个进程,您需要告诉这个您的 MPI,例如使用 -npernode 1。如何准确实现这一点取决于您的环境。
标签: mpi