2013-03-22 39 views
1

這是事情。我已經在兩臺不同的計算機上安裝了openmpi,我已經在這臺機器上編譯並運行hello_world示例,並且運行良好。但問題是當我發起這個命令:與mpirun和ssh的Openmpi麻煩

mpirun -hostfile hosts -n 3 hello_c 

與在主機文件:本地主機和我的其他機器的IP。然後,該程序問我我的SSH密碼,並填充它之後沒有像mpirun剛剛崩潰一樣追加。我真正的問題是我無法通過ssh在兩臺不同的計算機上運行mpi進程。

我想確切地說,所有的openmpi二進制文件和庫都設置在路徑中,即使是hello_world。

+0

它究竟如何崩潰? – 2013-03-22 23:27:28

+0

Mpirun沒有注意到並繼續忙於終端。我必須做^ c來檢索它。 – Baptiste 2013-03-23 14:14:09

回答

0

假設您的編譯器已正確設置以及您的主機文件。你的問題是你需要在兩臺電腦之間設置無密碼的ssh,否則你會得到你描述的錯誤。這是因爲MPI需要快速高效地進行通信,並且不會提示消息提示輸入密碼,從而導致消息失速並導致程序崩潰。

+0

謝謝你的回答。所以我會嘗試用ssh的rsa密鑰。我還有一個小問題,當我用mpirun通過網絡啓動一個程序時,我必須在此之前將所有程序放在所有的計算機上,否則mpi運行時需要這個程序?謝謝。 – Baptiste 2013-03-23 07:43:16

+0

我試過用ssh證書。它總是停留在同一個地方,沒有任何答案。我必須用^ C殺死mpi。 – Baptiste 2013-03-23 14:26:12

+0

要回答你的第一個問題,是的,另外明智的是,它將查找目標文件,但找不到它們,並且還需要在所有機器上安裝MPI。下面是一個快速指南來設置無密碼的ssh http://askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login – pyCthon 2013-03-23 15:07:01

0

我已經用rsa證書設置了一個pass_wordless ssh,但它也沒有工作。我已經推出了調試模式(-d)的mpirun和我得到這個:

[[email protected] RE51]$ mpirun -d -hostfile hosts hello_c 
[baptiste.thinkFed:02666] procdir: /tmp/[email protected]_0/53471/0/0 
[baptiste.thinkFed:02666] jobdir: /tmp/[email protected]_0/53471/0 
[baptiste.thinkFed:02666] top: [email protected]_0 
[baptiste.thinkFed:02666] tmp: /tmp 
[roommateServer:01102] procdir: /tmp/[email protected]_0/53471/0/1 
[roommateServer:01102] jobdir: /tmp/[email protected]_0/53471/0 
[roommateServer:01102] top: [email protected]_0 
[roommateServer:01102] tmp: /tmp 

,沒有別的,就留在這兒,我已經殺的mpirun。

有關信息,我試圖lauchn使用此命令在遠程節點上的mpirun hello_c槽SSH:

ssh roomServer mpirun hello_c 

這項工作做得很好......我definetly不明白爲什麼它不能在所有工作節點..