0
点赞
收藏
分享

微信扫一扫

win10系统python编程使用MPI实现分布式计算(mpi4py)



文章目录

  • 参考
  • 什么是MPI?
  • 安装MPI所需的环境
  • 1. 安装openMPI
  • 2. 安装VSCompiler
  • 3. 安装mpi4py
  • 4. 安装MS-MPI(可选)
  • 测试


参考

https://zhuanlan.zhihu.com/p/157804393?from_voters_page=true

什么是MPI?

MPI (Message Passing Interface)是一套标准,不是一个软件。事实上它是一套并行运算中信息传递和处理的标准,在这个标准之上,编程者可以很方便地组织自己的并行程序。

这套标准有很多种实现,比如C++,Fortran,Python的mpi4py,Matlab-MPI等等。在这些程序中调用响应的库来实现程序的并行化。

mpi4py是mpi的python接口,并不是mpi本身,所以首先要安装一个 MPI 实现软件,最好能支持 MPI-3 标准,并且最好是动态编译的。比较常用的 MPI 实现软件有 OpenMPI,MPICH 等。

安装MPI所需的环境

1. 安装openMPI

windows版本安装包OpenMPI_v1.6.2-2_win64.exe

2. 安装VSCompiler

进入微软下载链接,下载生成工具,然后直接双击进行安装。

win10系统python编程使用MPI实现分布式计算(mpi4py)_python

3. 安装mpi4py

废话:使用conda或者pip直接安装mpi4py遇到了很多错误,比如使用conda安装时,只适用于python2.7,无法在python3.x上安装。所以直接看下面能在python3.8上成功的方法吧。

在官网选择一个版本下载(我选的3.0),本地解压后,打开cmd(最好以管理员方式打开)执行以下命令。

cd 你解压后的文件夹位置(如D://mpi4py-3.0.0)
conda activate 你的conda环境名字(如果不是conda环境请忽略)
python setup.py build
python setup.py build --mpi=other_mpi
python setup.py install

执行完这些命令后,可以执行conda list看看有没有mpi4py包,有的话,MPI就配置成功了!

4. 安装MS-MPI(可选)

如果报如下错误,则需要安装MS-MPI,若连接失效请从这里进入。

“mpi.h”: No such file or directory

注意,msi和exe都下载安装。

win10系统python编程使用MPI实现分布式计算(mpi4py)_高性能计算MPI_02

测试

新建一个python文件test.py

from mpi4py import MPI

comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()

if rank == 0:
    msg = 'Hello, world'
    comm.send(msg, dest=1)
elif rank == 1:
    s = comm.recv()
    print("rank %d: %s" % (rank, s))
else:
    print("rank %d: idle" % (rank))

在cmd中执行MPI命令:

mpiexec -np 8 python test.py

可以看到运行结果:

rank 2: idle
rank 6: idle
rank 4: idle
rank 7: idle
rank 5: idle
rank 3: idle
rank 1: Hello, world

可以说明MPI正确地启动了8个进程, 并且给引为1的进程发送了“Hello World”,而后该进程接收到了这个信息。


举报

相关推荐

windows安装MPI及python安装mpi4py

使用 Python 进行MPI并行编程

0 条评论