使用MPI运行d_hydro时出现连接强制关闭等错误求助
MPI运行d_hydro时连接中断错误的解决办法
错误信息:
unable to read the cmd header on the pmi context, Error = -1 . op_read error on left context: Error = -1 Error posting readv, An existing connection was forcibly closed by the remote host.(10054) unable to read the cmd header on the left context, Error = -1 . op_read error on parent context: Error = -1 Error posting readv, An existing connection was forcibly closed by the remote host.(10054) unable to read the cmd header on the parent context, Error = -1 . connection to my parent broken, aborting.
可能的解决方法:
- 检查节点间网络与防火墙:确保所有运行MPI进程的节点网络连通,关闭或配置防火墙允许MPI通信端口(动态端口或指定范围),避免网络丢包或连接被拦截。
- 调整MPI通信相关环境变量:尝试设置
PMI_NO_FORK=1,防止进程fork时PMI连接异常;若应用支持多线程,将MPI_Init_thread的线程级别设为MPI_THREAD_MULTIPLE。 - 统一MPI版本:确认所有节点使用的MPI库(OpenMPI/MPICH等)版本一致,且与d_hydro编译时依赖的MPI版本匹配,避免接口不兼容。
- 调整进程与资源分配:减少启动的MPI进程数,避免资源耗尽导致连接被强制关闭;检查节点内存、CPU负载,确保每个进程有足够资源。
- 重新编译d_hydro:若MPI环境有变更,重新编译程序,保证编译时链接的MPI库与运行时完全一致。
内容的提问来源于stack exchange,提问作者Miftakhul Firdaus
相关产品推荐
相关产品推荐

