gpt4 book ai didi

python - mpiexec 和 python mpi4py 给出等级 0 和大小 1

转载 作者:太空狗 更新时间:2023-10-29 21:59:38 24 4
gpt4 key购买 nike

我在虚拟机上运行 python Hello World mpi4py 代码时遇到问题。

hello.py 代码是:

#!/usr/bin/python
#hello.py
from mpi4py import MPI

comm = MPI.COMM_WORLD

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

print "hello world from process ", rank,"of", size

我尝试使用 mpiexec 和 mpirun 来运行它,但运行不正常。输出:

$ mpirun -c 4 python hello.py 
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1

来自 mpiexec:

$ mpiexec -n 4 python hello.py 
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1

他们似乎没有得到通讯的排名和大小。什么会导致这个?如何解决?

mpiexec --version
mpiexec (OpenRTE) 1.6.5

mpirun --version
mpirun (Open MPI) 1.6.5

虚拟机上的系统是Ubuntu 14.04。

有什么想法吗?谢谢!

最佳答案

我在运行 python 模块 emcee 时遇到了同样的问题。它会给我一个错误:

"ValueError: Tried to create an MPI pool, but there was only one MPI process available. 
Need at least two."

我为我的特定集群找到的解决方案是使用不同的 MPI。我的代码适用于 intel-mpimpich2 但不适用于 openmpi。对于这个系统,我所要做的就是切换 MPI。在我的 PBS 脚本中,我使用了 module load mpich2 而不是 module load openmpi。在这种情况下,mpiexecmpirun 工作正常。

关于python - mpiexec 和 python mpi4py 给出等级 0 和大小 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com