如何让mpi4py运行?

只是一个Noob

我是并行编程概念的新手。我应该将 mpi4run 用于一个项目,但我不知道如何实际运行它。例如,如果我想运行此代码:

from mpi4py import MPI
import numpy as np

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

if rank == 0:
    numData = 5  
    data = np.linspace(0.0,3.14,numData)  
else:
    numData = None
numData = comm.bcast(numData, root=0)
if rank != 0:    
    data = np.empty(numData, dtype='d')  
comm.Bcast(data, root=0) 
print('Rank: ',rank, ', data received: ',data)

如果我直接从我的 IDLE 运行,我会得到:

等级:0,收到的数据:[0. 0.785 1.57 2.355 3.14 ]

但是,如果我理解正确的话,这不是我们应该运行它来进行并行计算的方式,对吗?在网上,我发现有人用写作来运行它

mpirun -n 4 python script.py

我的问题是,我在哪里输入?我尝试过 cmd 和 python shell,但出现错误、语法错误等。我觉得这里有我不明白的地方。有小费吗?

生物极客

使用 MPI 命令的 Python 程序必须使用 MPI 解释器运行,称为mpirun.

最简单的方法是创建一个干净的 conda 环境并安装mpi4py在那里。

如果您使用的是 Linux 并安装了Anaconda Python,那看起来像这样:

$ conda create -n mpi_env
$ source activate mpi_env
(mpi_env) $ conda install mpi4py
(mpi_env) $ which mpirun # test if the MPI interpreter is correctly installed
/anaconda/envs/mpi_env/bin/mpirun
(mpi_env) $ mpirun -n 4 python script.py # run your python script, using 4 processes.

有关详细信息,请参阅本教程

对于 Windows,您需要安装mpiexec. 有关安装说明,请参见此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章