最新版的mpich简化了运行方式,不再提供mpd开头的命令,只需要一个mpiexec即可启动mpi运行环境,方便了mpi编程。源代码下载地址:http://www.mpich.org/downloads/。不过和之前的版本一样,在运行mpi程序时,首先要配置好系统环境。
1. 安装mpich3
从上述网址下载源代码后,解压,然后configure,最后make和make install。命令如下:
2. 配置环境变量
主要是修改path,为path添加mpi的bin目录:
3. 配置多服务器间无密码访问
192.168.5.123 node1
192.168.5.124 node2
192.168.5.125 node3
到hosts的末尾。node*在实际情况中要替换成服务器的主机名,可通过hostname获得主机名。
4. 添加machinefile文件
该步骤是在各个服务器上指明要访问的其他服务器,在不同的服务器上内容一样。例如node1下的该文件内容为:
root@node1:~# cat machinefile
node1
node2
node3
5. 运行测试程序
root@nami:~# mpiexec -n 6 -machinefile ~/machinefile ~/ mpich-3.0.4/examples/cpi
通过运行该命令测试是否正确安装mpich3。注意一点可执行程序在不同服务器上的位置要一样,否则会报错。上述命令的结果是:
Process 2 of 6 is on node1
Process 5 of 6 is on node1
Process 0 of 6 is on node2
Process 3 of 6 is on node2
Process 1 of 6 is on node3
Process 4 of 6 is on node3
pi is approximately 3.1415926544231243, Error is 0.0000000008333312
wall clock time = 0.001908
更多的命令参数可参看官网文档:http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4-userguide.pdf。
按照上述步骤绝大多数情况下可以正确安装mpich3,有一点需要注意,在所有的服务器上运行的mpi版本必须一致,否则也会出错。有时有些问题是由于防火墙导致的,在运行mpi程序时,我们可以关掉防火墙:
#service iptables stop
#service iptables status
但总而言之,mpich3运行过程中出现的问题要比mpich2少很多,也方便很多。