我是并行编程概念的新手。我应该将 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] 删除。
我来说两句