mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORLD.Get_size() is always resulting '1'
参考:
https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1
===========================================
运行代码:
import mpi4py.MPI as MPI comm = MPI.COMM_WORLD comm_rank = comm.Get_rank() comm_size = comm.Get_size() print(comm) print(comm_rank) print(comm_size)
运行结果:
运行结果十分的诡异,不论启动多少进程,每个启动的进程都无法获得所有的进程数,也就是说MPI的进程之间无法通信,而这就说明MPI出问题了,但是问题出在哪里却十分诡异。如果说MPI没有安装成功那么MPI4PY并没有报错,如果安装MPI成功又和实际运行情况对不上。后来在外网上找到了答案:
https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1
也就是说mpi4py的编译时的mpi环境与运行时的mpi环境不同,于是才会出现这样的问题。
通过python查询当前mpi4py的编译环境:
import mpi4py
mpi4py.get_config()
发现这个MPI编译环境和运行环境确实不同。
posted on 2023-06-03 09:26 Angry_Panda 阅读(106) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 20250116 支付宝出现重大事故 有感
· 一个基于 Roslyn 和 AvalonEdit 的跨平台 C# 编辑器
· 推荐一款非常好用的在线 SSH 管理工具
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· .NET周刊【1月第1期 2025-01-05】
2021-06-03 【转载】 集成学习
2017-06-03 转载 ------ 三次指数平滑法
2017-06-03 转载:二次指数平滑法求预测值的Java代码
2017-06-03 转载: 通过反射操作类的私有属性
2017-06-03 转载: 二次指数平滑法摘抄(原理详细)
2017-06-03 转载: Linux 操作系统挂起、休眠、关机相关命令