如何解决mpi4py:MPI.COMM_WORLD 如何在文件之间共享?
我有一个使用多个文件的 python 程序,我想使用 mpi4py 并行运行它。我是否必须在每个文件的开头定义变量 comm = MPI.COMM_WORLD ,还是应该定义一次并将其作为参数传递?
为了使事情具体化,请考虑以下由两个 python 文件组成的程序,首先是 mpi_base_file.py:
from mpi4py import MPI
from mpi_other_file import print_rank
comm = MPI.COMM_WORLD
if rank == 0:
print('rank and comm in base file',comm.Get_rank(),comm)
print_rank()
和mpi_other_file.py:
from mpi4py import MPI
comm = MPI.COMM_WORLD
def print_rank():
print('rank and comm in other file',comm)
运行 mpiexec -np 2 python3 mpi_base_file.py 给出:
基本文件 0 中的等级、通信和大小
其他文件中的等级、通信和大小 0
变量 MPI.COMM_WORLD 和 rank 在两个文件中似乎相同,mpi4py 是如何实现的? 它是否适用于不共享相同内存的多个节点?如果不是,那么执行该程序的正确方法是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。