当我使用
mpirun
运行 osu_bw 时,出现错误,这是我的日志:
$ which mpirun
/data/software/install/oneapi/mpi/latest/bin/mpirun
# I'm using Intel MPI
$ mpirun -np 2 ./osu_bw
No PMIx server was reachable, but a PMI1/2 was detected.
If srun is being used to launch application, 2 singletons will be started.
This test requires exactly two processes
This test requires exactly two processes
当我使用 Open MPI 5.0.1 运行 osu_bw 时,它成功了,这是我的日志:
$ which mpirun
/data/software/install/openmpi/5.0.1/bin/mpirun
$ mpirun -np 2 --host node1,node2 ./osu_bw
# OSU MPI Bandwidth Test v5.7.1
# Size Bandwidth (MB/s)
1 0.03
2 0.08
4 0.14
8 0.29
16 0.50
32 1.02
64 1.75
128 3.99
256 7.32
512 12.71
1024 26.13
2048 54.45
4096 97.07
8192 179.59
16384 259.69
32768 342.69
65536 414.06
131072 541.21
262144 564.08
524288 600.48
1048576 597.75
2097152 604.22
4194304 540.85
摘自 @Gilles 的评论:IntelMPI 和 OpenMPI 目前不兼容 ABI。如果您使用其中之一构建并使用另一个,则它将无法工作。
MPICH 系列 ABI 相互兼容(MPICH、MVAPICH、IntelMPI 等),但不与 OpenMPI 兼容,反之亦然。
顺便说一句,MPI 论坛正在努力弥合这一差距,但这仍然是一项正在进行的工作 :P