mpi4py.MPI.Exception: MPI_ERR_RANK: invalid rank 解决方案

2023-05-16

问题描述

今天在跟着mpi4py简单使用教程执行以下代码时:

from mpi4py import MPI
import numpy as np
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
if rank == 0:
    data = range(10)
    comm.send(data, dest=1, tag=11)
    print("process {} send {}...".format(rank, data))
else:
    data = comm.recv(source=0, tag=11)
    print("process {} recv {}...".format(rank, data))

出现了如题目中描述的错误:

 

很不理解,于是去查找相关资料。

解决方案 

参考以下链接中描述的解决方案mpi4py - MPI_Send(100): Invalid rank has value 1 but must be nonnegative and less than 1 - Stack Overflow

在命令行中用以下方式运行代码,不再报错并产生正确的输出:

# main.py是你的文件名称
mpirun -np 2 python main.py

注意:如果你是以root身份运行的该代码,应当运行以下命令:

# main.py是你的文件名称
mpirun -np 2 --allow-run-as-root python main.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mpi4py.MPI.Exception: MPI_ERR_RANK: invalid rank 解决方案 的相关文章

随机推荐