首页 > 编程语言 >mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORL

mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORL

时间:2023-06-03 09:46:56浏览次数:57  
标签:Get rank MPI comm size mpi4py

参考:

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编译环境和运行环境确实不同。

 

标签:Get,rank,MPI,comm,size,mpi4py
From: https://www.cnblogs.com/devilmaycry812839668/p/17453314.html

相关文章

  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— GET API
     RESTAPIs——DocumentAPIs——GETAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-get.html#docs-getRetrievesthespecifiedJSONdocumentfromanindex.从索引中检索指定的JSON文档。......
  • docker apt-get update失败问题解决
    一、问题描述docker容器相当于linux系统的精简版,内部很多指令是无法直接使用的,例如vim指令,为了使用vim指令,我们需要进入容器内部进行安装,安装步骤为:apt-getupdateapt-getinstallvim很多时候我们发现安装会失败,这里是由于下载源问题。二、解决方案1.进入宿主机下cd/e......
  • 使用you-get下载网站视频
    使用you-get下载网站视频you-get是一个跨平台命令行视频、音频与图像下载工具,支持常用的各种多媒体网站。文章目录使用you-get下载网站视频一、安装先决条件1.pip安装2.通过[Antigen](https://github.com/zsh-users/antigen)安装(适用于Zsh用户)3.GitHub下载4.GitHub克隆5.升级二......
  • mapState 与 mapGetters
    1.mapState方法:用于映射state中的数据为计算属性computed:{...mapState({sum:'sum',school:'school'}),...mapState(['sum','school']),}2.mapGetters方法:用于映射getters中的数据为计算属性computed:{...mapGetters({bigSum:......
  • shell命令:getevent和sendevent
    1.getevent输出所有event设备的基本信息 输出格式:设备名:事件type事件code事件value注意:这里的数字都是16进制。getevent-c10//输出10条信息后退出getevent-l//将type、code、value以对应的常量名称显示使用getevent-l命令后输出结果格式为:  对应的数字代码转......
  • connect(descriptor:addr:size:): Operation not permitted (errno: 1)
    macOS开发mysqlclient的时候,默认开启了沙箱机制。结果每次连接都给报这个错 如果没有捕获好的话,可能只会出现connect(descriptor:addr:size:): 这个错误 找半天才在网上找到有这个说法的 另外一个是如果要通过调用ssh启动通道来做跳板访问的话,或者需要访问本地文件......
  • Get请求
     GET不支持GetRequestStream(),所以不能写进去:stringbaseUrl="http://";stringtoken="";try{HttpWebRequestrequest=(HttpWebRequest)HttpWebRequest.Create(......
  • python compileall 打包发布
    Python工程的编译、合并、打包、发布 确保要发布的包(demo)的根目录中有__main__.py文件,这个是程序执行入口。编译python3-O-mcompilealldemo批量改名.pyc文件find.-name'*.pyc'-execrename's/.cpython-35.opt-1//'{}\;移动.pyc文件find.-name'*.pyc'-execdirmv......
  • Arc get_mut
    ///Returnsamutablereferenceintothegiven`Arc`,ifthereare///noother`Arc`or[`Weak`]pointerstothesameallocation.//////Returns[`None`]otherwise,becauseitisnotsafeto///mutateasharedvalue.//////See......
  • 【Oracle】Show the change history of tbs' size
     注意:脚本都从dba_hist_tbspc_space_usage系统视图获取数据,但是这个系统视图中保存的数据的时间是依赖AWR采样数据保留期限的。所以你从这个系统视图可能查找不出很早之前的表空间数据使用情况,如果需要历史的表空间使用数据,可能需要定期采集数据并存储到起来。 Innonmult......