MPI常用命令。。。
1.mpd & 啟動本機的mpi守護進程
2. mpdboot:
啟動集群mpd守護進程,在運行MPI程序前必須開啟每個節點上的mpd守護進程。
3. mpdtrace:
查看集群mpd守護進程。
4. mpdexit:
殺死指定節點mpd守護進程。
5. mpdallexit:
殺死所有的mpd守護進程。
6.mpdtrace:查看MPI環境中的機器
7. mpiexec:
MPI程序運行命令,運行前必須開啟mpd守護進程。
8. mpirun:
9. mpd測試命令:mpdcheck和mpdringtest
mpdcheck用來檢查mpi安裝和運行時的故障和異常。
10. mpd幫助命令:mpdhelp
11. 編譯命令
mpicc:
mpiCC編譯并聯接用C++編寫的MPI程序 而mpicc是編譯并聯接用C編寫的MPI程序
mpif77和mpif90分別編譯并聯接用FORTRAN77和Fortran90編寫的MPI程序
這些命令在聯接時可以自動提供MPI需要的庫 并提供特定的開關選項
注意mpiCC不能不能用于編譯C程序 常用的編譯選項是
這樣在該MPI程序執行時會打印出其運行蹤跡信息,但是它和-mpilog 在編譯時不能同時存在 只能二者選一
此外它們還可以使用一般的C++/C/FORTRAN77/Fortran90通用的選項,含義和原來的編譯器相同
To compile a single file foo.c, use
To link the output and make an executable, use
Combining compilation and linking in a single command
最簡單的MPI運行命令是
mpirun –np N program
program是可執行MPI程序名 以這種方式進行執行
其中N是同時運行的進程的個數
需要首先對可用的機器進行配置 配置文件是$(HOME)/mpich/util/machines/machines.LINUX
在這個文件中 每一行寫上可用的機器名 比如
tp5.cs.tsinghua.edu.cn
tp1.cs.tsinghua.edu.cn
tp2.cs.tsinghua.edu.cn
tp3.cs.tsinghua.edu.cn
tp4.cs.tsinghua.edu.cn
83
tp8.cs.tsinghua.edu.cn
這樣就有6臺機器可供MPI使用 使用這種方式啟動時 可執行程序必須放在不同機
同帳戶的相同路徑下 比如在tp5.cs.tsinghua.edu.cn上$(HOME)/mpich/examples/basic/下
mpirun –np 6 cpi
則需要在{tp1,tp2,tp3,tp4,tp8}上的$(HOME)/mpich/examples/basic/下都有該cpi程序
如果不使用缺省的配置文件 則需要在命令行給出配置文件 該配置文件的
mashines.LINUX相同
比如
mpirun –machinefile hosts –np 6 cpi
只需在hosts中給出可使用的機器名字即可
還有一種更為靈活的配置方式 它允許可執行程序有不同的名字 有不同的路徑
啟動方式是
mpirun –p4pg pgfile cpi
它的配置文件pgfile的格式如圖 38所示
<機器名>
<機器名>
<機器名>
圖 38 配置文件的通用格式
需要多少機器 就寫幾行 注意在這種啟動格式中 不需要指出啟動多少個進程 進
配置文件指定 一種可能的格式如圖 39所示
tp5
tp1
tp2
tp3
tp4
tp8
圖 39 配置文件示例
注意第一行的0并不表示在tp5上沒有進程
這里0特指在tp5上啟動MPI程序的執行
mpirun是MPI程序的啟動腳本 它可以簡化作業的啟動程序 并且盡可能把不同特征屏蔽掉
提供給用戶一個通用的MPI并行機的概念
MPI程序的一般啟動方式是
mpirun -np
一般MPI會自動決定使用什么樣的設備和什么樣的結構
若MPI無法決定 則可以通過選擇開關指定 可用的設備選項有
