У меня проблемы с использованием 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
Затем я попытался использовать BTL с общей памятью (sm
), который тоже не помог:
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 в мою машину.