MPICH的运行方式和配置文件
最简单的MPI运行命令是
mpirun -np N program
其中N是同时运行的进程的个数,program是可执行MPI程序名。以这种方式进行执行,需要首先对可用的机器进行配置,配置文件是$(HOME)/mpich/util/machines/machines.LINUX
在这个文件中,每一行写上可用的机器名,比如
tp5 0 /home/pact/mpich/examples/basic/cpi
tp1 1 /home/pact/mpich/examples/basic/cpi
tp2 1 /home/pact/mpich/examples/basic/cpi
tp3 1 /home/pact/mpich/examples/basic/cpi
tp4 1 /home/pact/mpich/examples/basic/cpi
tp8 1 /home/pact/mpich/examples/basic/cpi

这样就有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程序。

还有一种运行形式
mpirun -machinefile hosts -np N program
如果不使用缺省的配置文件,则需要在命令行给出配置文件,该配置文件的格式和mashines.LINUX相同。只需在hosts中给出可使用的机器名字即可。

还有一种更为灵活的配置方式,它允许可执行程序有不同的名字,有不同的路径,它的启动方式是

mpirun -p4pg pgfile program

它的配置文件pgfile的格式为:
程序 配置文件的通用格式
<机器名> <进程数> <程序名>
<机器名> <进程数> <程序名>
<机器名> <进程数> <程序名>

需要多少机器,就写几行。注意在这种启动格式中,不需要指出启动多少个进程,进程数由配置文件指定。一种可能的格式如下图所示。

程序配置文件示例
tp5 0 /home/pact/mpich/examples/basic/cpi
tp1 1 /home/pact/mpich/examples/basic/cpi
tp2 1 /home/pact/mpich/examples/basic/cpi
tp3 1 /home/pact/mpich/examples/basic/cpi
tp4 1 /home/pact/mpich/examples/basic/cpi
tp8 1 /home/pact/mpich/examples/basic/cpi

注意第一行的0并不表示在tp5上没有进程,这里0特指在tp5上启动MPI程序的执行。
mpirun是MPI程序的启动脚本,它可以简化作业的启动程序,并且尽可能把不同的设备特征屏蔽掉,提供给用户一个通用的MPI并行机的概念。