我在OS X的单机模式下使用mpirun有问题。当使用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防火墙没有运行,并且我可以通过ssh进入我的机器。
发布于 2011-03-03 21:53:41
所以看起来你使用的是来自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程序上工作。然后在my_program上执行ldd;它链接到哪些库?为这些库使用适当的mpirun,看看是否能正常工作。
发布于 2011-03-04 23:31:27
检查你的防火墙,确保它允许mpirun建立入站和出站连接。
https://stackoverflow.com/questions/5174980
复制相似问题