首先下载MPI for python 的源码包:mpi4py解压,进入文件夹,编辑mpi.cfg:
# Default configuration
# ---------------------
[mpi]
mpi_dir = /usr/local/openmpi#自己的mpi位置,openmpi和mpich均可
mpicc = %(mpi_dir)s/bin/mpicc
mpicxx = %(mpi_dir)s/bin/mpicxx
include_dirs = %(mpi_dir)s/include
#libraries = mpi
library_dirs = %(mpi_dir)s/lib64
runtime_library_dirs = %(library_dirs)s
保存退出。
输入python setup.py build,编译文件。
进入root账号,输入python setup.pyinstall,mpi4py将默认安装到linux的/usr目录下。
以后任何同样配置的计算机要安装mpi4py,只需要以root身份进入该编译目录(比如网络共享)并执行python setup.py install即可。
建立一个文件,比如host,输入运行的计算机名称和地址。如果计算机集群使用NIS用户管理,则直接输入主机名就可以了。
建立py可执行文件:
from mpi4py import MPI
import sys
size = MPI.COMM_WORLD.Get_size()
rank = MPI.COMM_WORLD.Get_rank()
name = MPI.Get_processor_name()
fp = open('./%s'%name, 'w')
fp.write('I am %s'%name);
fp.close()
如果是使用openmpi, 直接输入mpirun -n {并行数} -f {host文件} python test.py。其中-n表示所开进程数,-f表示节点列表。
如果使用mpich或者intel mpi,输入mpdboot -n {并行数} -f {host文件},成功之后输入mpirun -n {并行数} -f {host文件} python test.py