2011-12-11 54 views
1

我想知道兩件事:工作空間是如何在MPI中共享的?

  • ,當我跑我的MPI集羣應用程序由3臺計算機做是從一些共享的虛擬目錄跑了或我行獲得一些DIR /一些文件夾中的每臺計算機我的應用程序上是跑了嗎?
  • 是我的程序使用了大量的共享庫,當我在一臺計算機上運行它時,我打電話給export LD_LIBRARY_PATH=./:./libs_boost/如何使我的.so庫與其他機器共享,而不用共享整個目錄?是否可以說類似mpiexec -n24 -share_files_across_machines=./file1.so:./lib_boost/**:./some_other_not_lib_file.txt

回答

4

MPI不進行關於文件共享方式/分發到所有 參與節點的假設。這完全是本地配置的問題,因此您無法獲得一般答案:您必須查看您的羣集 的配置情況(詢問您的系統管理員?)。

更具體地說:

  • 的MPI過程中仍然是一個普通的UNIX(或Windows)過程:使你的應用程序可以使用任何操作系統調用訪問本地文件系統或共享的網絡文件系統(如果存在的話)。

  • 對於不提供共享目錄的羣集,可以使用scp將所需的啓動文件(例如庫)複製到其他節點,並類似地收回輸出文件。 (最好用shell腳本自動執行此操作)

  • 某些應用程序允許您指定哪個節點可以執行I/O操作:所有其他節點將通過運行進程的MPI通信通道接收輸入數據在指定的I/O節點上。 (但是,這對庫不起作用,因爲它們在啓動MPI過程之前由操作系統加載)。