1

mpirun在 OS X 上以单机模式使用时遇到问题。使用运行我的程序时,mpirun -np 5 my_program我得到以下错误输出:

[...-MacBook-Pro.local:85936] [0,0,0] ORTE_ERROR_LOG: Timeout in file /SourceCache/openmpi/openmpi-8/openmpi/orte/mca/pls/base/pls_base_orted_cmds.c at line 275
[...-MacBook-Pro.local:85936] [0,0,0] ORTE_ERROR_LOG: Timeout in file /SourceCache/openmpi/openmpi-8/openmpi/orte/mca/pls/rsh/pls_rsh_module.c at line 1158
[...-MacBook-Pro.local:85936] [0,0,0] ORTE_ERROR_LOG: Timeout in file /SourceCache/openmpi/openmpi-8/openmpi/orte/mca/errmgr/hnp/errmgr_hnp.c at line 90
mpirun noticed that job rank 1 with PID 85940 on node ...-MacBook-Pro.local exited on signal 6 (Abort trap). 
2 additional processes aborted (not shown)

显然,默认情况下mpirun用于rsh连接到机器。我尝试ssh改用,但没有帮助:

mpirun --mca pls_rsh_agent ssh -np 5 my_program

然后,我尝试使用共享内存 ( sm) BTL,但也无济于事:

mpirun --mca btl self,sm -np 5 my_program

最后,我尝试使用机器文件来指定我只想使用localhost,这也没有帮助:

mpirun -np 5 -machinefile machinefile.local my_program

在这里,machinefile.local仅包含localhost(单个)第一行。

在上述所有情况下,我都会收到上述超时错误。

另外,我确认我的 Mac OS X 防火墙没有运行,我可以通过 ssh 进入我的机器。

4

2 回答 2

0

所以看起来你正在使用 fink 的 OpenMPI 版本,对吗?你在 /usr/bin 和 /usr/lib 中还有原来的 1.2.x MPI 吗?寻找奇怪的启动问题的第一个地方是 MPI 库的版本冲突。

首先尝试一些简单的东西,比如/usr/bin/mpirun -np 5 hostname,然后无论你的 fink mpirun 是什么地方,都做同样的事情:/path/to/fink/mpirun -np 5 hostname,只是为了确保两个 MPI 启动器在非 MPI 程序上工作。然后做一个lddon my_program; 它链接到哪些库?对这些库使用适当mpirun的,看看是否有效。

于 2011-03-03T13:53:40.613 回答
0

检查您的防火墙并确保它允许 mpirun 建立入站和出站连接。

于 2011-03-04T15:31:27.357 回答