我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 进入我的机器。