2012-12-02 119 views
1

上MPI的工作,我已經使用內置的mpic++ OS X的內置並行程序,我想在我的家庭網絡上運行我的兩個蘋果電腦MPI作業。兩者都使用Snow Leopard 10.6.8,並且可以在本地運行作業。我也可以使用ssh訪問其他機器。然而,進入遠程運行OS X計算機

mpirun -n 2 --host localhost,10.0.1.2 ./enigmaMPI 

後問我輸入密碼,然後我得到這個輸出:

-------------------------------------------------------------------------- 
Failed to find or execute the following executable: 

Host:  iMac.local 
Executable: ./enigmaMPI 

Cannot continue. 
-------------------------------------------------------------------------- 
mpirun noticed that job rank 0 with PID 7748 on node localhost exited on signal 15 (Terminated). 

這個消息是不是很具體,幫我找到一個解決辦法......可能有人幫助,請?

我建立使用下面的命令我的程序:

mpic++ main.cpp enigma.cpp enigma.h -o enigmaMPI 
+0

一個我與同時實施的甩了Linux系統形成我MPI集羣被設置密碼的ssh少掙扎的步驟。這正是這裏的問題。 MPI程序以SPMD模式執行,這意味着它們都在所有節點上同時執行。 [This](http://osxdaily.com/2012/05/25/how-to-set-up-a-password-less-ssh-login/)看起來很有幫助。 – axiom

回答

1

的消息如下信息,因爲它可以得到的。這意味着MPI無法在遠程節點上的相同位置找到可執行文件enigmaMPI。你必須確保:

  • enigmaMPI可以在同一位置發現兩個localhost10.0.1.2;
  • MPI庫和運行時間安裝在兩臺機器上。

由於您運行的是Snow Leopard,因此很可能使用隨附的Open MPI版本。那麼你不必擔心第二點。第一點意味着,如果你的本地計算機上enigmaMPI/Users/username/project/enigmaMPI下被發現,那麼你必須把它複製到另一臺Mac相同的路徑。

這就是爲什麼大多數集羣使用共享文件系統,如NFS,光澤,GPFS,並已安裝在每個計算節點上的同一個地方。另外,正如公理指出的那樣,設置無密碼SSH(使用公鑰)可以節省您每次運行mpirun時輸入密碼。

此外,據我可以記得,雪豹仍然包括的Xgrid和設置在該開放MPI版本具有能夠通過的Xgrid執行處理的模塊。你只需要啓用第二Mac上的Xgrid共享,然後以某種方式使用的Xgrid啓動...

+0

謝謝,問題出在了地點。在使用共享文件系統的大學計算機上嘗試MPI後,我還沒有意識到需要照顧他們。 – Melebius

+0

@Melebius,您可以創建在Mac電腦中的一個卷,然後通過在'系統偏好設置網絡共享...' - >'Sharing' - >'文件Sharing'。它最終會掛載在兩臺機器上的'/ Volumes/VolumeName'下,然後你不需要手動複製這些文件。 –