2012-02-02 80 views
3

我一直在用C語言編寫非常簡單的MPI程序。我不是很擅長C語言,但對Python很有信心。我開始知道Python有MPI綁定。我使用Sun Grid Engine作爲DRMS(分佈式資源管理系統)。在跳入python MPI之前,我想知道是否有可能向Sun Grid Engine提交python mpi程序以利用系統中所有可用分佈式處理器的功能。在Sun Grid Engine中運行Python MPI程序

那麼,是否可以向Sun Grid Engine提交python mpi程序?

回答

2

是的,這是可能的,它與mpirun運行編譯MPI代碼沒有任何不同。所有關於確保代碼需要在每個節點上運行的可執行文件,庫和支持文件的所有常用命令對編譯的MPI應用程序同樣適用於python。網格引擎本身(或至少在我之前使用過的Oracle之前的商業版本)並不知道MPI的任何內容,本身,所以在你的工作從資源管理器獲得槽位分配之後, SGE作業腳本可能需要爲運行創建自己的機器文件(或運行啓動腳本),並執行其他任何必要的咒語來準備要運行代碼執行的節點。舊的SGE wiki和郵件列表中有很多有用的示例,在正在運行的SGE作業腳本中設置MPI機器文件。這個內部細節幾乎完全是MPI特定的風格,並且大多獨立於SGE,所以提供細節有點困難,但最終在作業文件中運行Python應用程序的命令可以像

mpirun <options here> python yourapp.py 
mpirun <options here> python yourapp.py 

mpirun <options here> yourapp.py 

如果yourapp.py具有可執行權限並在它的合適的shebang線。我已經用MPICH2和SGE運行了一些相當大的應用程序,並且毫不費力地完成後者。

+0

+1,並且想要特別爲mpi4py添加一個投票,這非常好。 – 2012-02-02 12:44:11

相關問題