2011-03-02 23 views
1

我在單機模式下使用mpirun在OS X上使用mpirun -np 5 my_program運行我的程序麻煩,我得到了下面的錯誤輸出:一臺機器上在OS X上使用的mpirun

[...-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只包含(單)第一行上的。

在上述所有情況下,我都會收到上面的超時錯誤。

另外,我驗證了我的Mac OS X防火牆沒有運行,並且我可以SSH入我的機器。

回答

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程序上工作。然後在my_program上執行ldd;它鏈接到哪些庫?對這些庫使用適當的mpirun,並查看是否有效。

0

檢查您的防火牆,並確保它允許mpirun建立入站和出站連接。

相關問題