“第10届量子化学波函数分析与Multiwfn程序培训班将于5月4-8日于北京举办,这是一次性完整、系统学习波函数分析的各种理论知识和全面掌握强大的Multiwfn波函数分析程序使用的最不可错过的机会!请点击此链接查看详情和报名方式,欢迎参加!

“第18届北京科音分子动力学与GROMACS培训班” 将于5月23-26日于北京举办。这是一次性全面、系统学习分子动力学模拟知识和最流行的分子动力学程序GROMACS的关键机会!报名正在进行中,请点击此链接查看详情,欢迎参加!

计算化学公社

 找回密码 Forget password
 注册 Register
Views: 113|回复 Reply: 12
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] 求助:CP2K+OpenMPI通信器泄漏问题:运行NEB后总是出现MPI_ABORT

[复制链接 Copy URL]

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

CP2K 2026.1 + OpenMPI 5.0.9 运行 NEB 计算,程序报错:
mp_world_finalize: assert failed: leaking communicators 1
随后 MPI_ABORT 终止所有进程。


具体显示问题如下:


*******************************************************************************
*   ___                                                                       *
*  /   \                                                                      *
* [ABORT]                                                                     *
*  \___/        mp_world_finalize: assert failed: leaking communicators 1     *
*    |                                                                        *
*  O/|                                                                        *
* /| |                                                                        *
* / \                                          mpiwrap/message_passing.F:1364 *
*******************************************************************************


--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 15 in communicator MPI_COMM_WORLD
  Proc: [[12098,1],15]
  Errorcode: 1


NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
prterun has exited due to process rank 15 with PID 0 on node localhost calling
"abort". This may have caused other processes in the application to be
terminated by signals sent by prterun (as reported here).
--------------------------------------------------------------------------


1307

帖子

6

威望

2767

eV
积分
4194

Level 6 (一方通行)

傻傻的木瓜

2#
发表于 Post on yesterday 10:38 | 只看该作者 Only view this author
OpenMPI是随toolchain安装的还是集群已经提前安装好的?集群上有没有除这个OpenMPI外的其他预装MPI库,比如Intel OneAPI之类的?有没有module管理编译器、MPI库等环境的配置?
√546=23.36664289109

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

3#
 楼主 Author| 发表于 Post on yesterday 10:58 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 10:38
OpenMPI是随toolchain安装的还是集群已经提前安装好的?集群上有没有除这个OpenMPI外的其他预装MPI库,比如 ...

OpenMPI是随toolchain安装的。

1307

帖子

6

威望

2767

eV
积分
4194

Level 6 (一方通行)

傻傻的木瓜

4#
发表于 Post on yesterday 11:29 | 只看该作者 Only view this author
lightman 发表于 2026-4-16 10:58
OpenMPI是随toolchain安装的。

我不喜欢见到我的帖子没有充分阅读的情形,我的第一个问题有所回答不代表后面两个问题可以不理睬,尤其是一开始的问题描述就比较模糊、非常需要后续回答补充关键信息的情况。如果你对服务器具体是哪个Linux系统、有没有其他编译器和MPI等环境存在、有没有module管理环境等问题不熟悉所以没有回应,可以先去咨询工程师/管理员搞清楚了再来回复。我也不知道你编译toolchain以及运行CP2K时具体用的什么版本的什么fortran和c/c++编译器。
√546=23.36664289109

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

5#
 楼主 Author| 发表于 Post on yesterday 12:38 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 11:29
我不喜欢见到我的帖子没有充分阅读的情形,我的第一个问题有所回答不代表后面两个问题可以不理睬,尤其是 ...

我使用自己组装的服务器,系统是Rocky linux 10.1,没有其他编译器和MPI等环境存在、没有module管理编译器、MPI库。gcc (GCC) 14.3.1 20250617 (Red Hat 14.3.1-2);GNU Fortran (GCC) 14.3.1 20250617 (Red Hat 14.3.1-2)。

1307

帖子

6

威望

2767

eV
积分
4194

Level 6 (一方通行)

傻傻的木瓜

6#
发表于 Post on yesterday 12:52 | 只看该作者 Only view this author
lightman 发表于 2026-4-16 12:38
我使用自己组装的服务器,系统是Rocky linux 10.1,没有其他编译器和MPI等环境存在、没有module管理编译 ...

自己组装的服务器的CPU、主板和内存规格如何,是否涉及跨节点/跨CPU的通讯?该故障能否用其他需要多进程/多线程并行的任务(不一定是NEB)复现?能不能举一个计算量很小(体系越简单、需要并行的进程/线程数越小越好)却又能稳定重复该故障的完整输入输出文件(不一定是NEB)作为例子?

以上所有内容都是早该在1楼就交代清楚的……
√546=23.36664289109

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

7#
 楼主 Author| 发表于 Post on yesterday 13:15 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 12:52
自己组装的服务器的CPU、主板和内存规格如何,是否涉及跨节点/跨CPU的通讯?该故障能否用其他需要多进程/ ...

这个问题和“服务器的CPU、主板和内存规格”有关系吗?
“以上所有内容都是早该在1楼就交代清楚的……”,我要是懂这么多我还发帖吗?

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

8#
 楼主 Author| 发表于 Post on yesterday 13:16 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 12:52
自己组装的服务器的CPU、主板和内存规格如何,是否涉及跨节点/跨CPU的通讯?该故障能否用其他需要多进程/ ...

其他单点能、结构优化等任务没有报错

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

9#
 楼主 Author| 发表于 Post on yesterday 13:19 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 12:52
自己组装的服务器的CPU、主板和内存规格如何,是否涉及跨节点/跨CPU的通讯?该故障能否用其他需要多进程/ ...

不存在跨节点/跨CPU通讯

1307

帖子

6

威望

2767

eV
积分
4194

Level 6 (一方通行)

傻傻的木瓜

10#
发表于 Post on yesterday 14:25 | 只看该作者 Only view this author
lightman 发表于 2026-4-16 13:15
这个问题和“服务器的CPU、主板和内存规格”有关系吗?
“以上所有内容都是早该在1楼就交代清楚的……” ...

MPI通讯问题有很多潜在的诱因,至少提供足够前提信息后可以尝试排除编译器不兼容、自定义安装的OpenMPI没调配好、Linux环境存在冲突、一开始CP2K就没有编译成功、特定硬件体质缺陷等等浅显的干扰因素。求助时应当提供完整信息这点在http://bbs.keinsci.com/thread-25787-1-1.html有详细阐述,在本帖的语境下当然可能与自己组装的服务器的特定硬件规格相关。

没有可以复现问题的完整输入文件的话开发者是很难排查问题、相应改进的,甚至都未必能确认故障出在软件上。

“其他单点能、结构优化等任务没有报错”的时候,和报错的NEB任务是用的相同进程/线程并行设置、算的相似大小的体系吗?将报错的NEB任务的并行进程/线程分配数量降低是否可能避开报错,还是凡NEB任务需要多image并行计算无论数量多少都会产生报错?
√546=23.36664289109

18

帖子

0

威望

121

eV
积分
139

Level 2 能力者

11#
 楼主 Author| 发表于 Post on yesterday 14:51 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-16 14:25
MPI通讯问题有很多潜在的诱因,至少提供足够前提信息后可以尝试排除编译器不兼容、自定义安装的OpenMPI没 ...

好的,谢谢,我再检查测试一下

479

帖子

3

威望

2934

eV
积分
3473

Level 5 (御坂)

12#
发表于 Post on yesterday 18:37 | 只看该作者 Only view this author
lightman 发表于 2026-4-16 14:51
好的,谢谢,我再检查测试一下

有必要提供具体硬件型号和报错的cp2k输入文件。
最起码说清楚是哪个cpu、物理内存多大。
如果结构敏感可以换个不敏感的结构尝试复现,好让我们基于你出问题的输入文件复现报错。

189

帖子

1

威望

643

eV
积分
852

Level 4 (黑子)

13#
发表于 Post on yesterday 21:40 | 只看该作者 Only view this author
CP2K源代码相应部分有注释,这是一个程序bug,只不过触发概率很低:
  1.          IF (debug_comm_count /= 0) THEN
  2.             ! A bug, we're leaking or double-freeing communicators. Needs to be fixed where the leak happens.
  3.             ! Memory leak checking might be helpful to locate the culprit
  4.             WRITE (unit=debug_comm_count_char, FMT='(I2)') debug_comm_count
  5.             CALL cp_abort(__LOCATION__, "mp_world_finalize: assert failed:"// &
  6.                           " leaking communicators "//ADJUSTL(TRIM(debug_comm_count_char)))
  7.          END IF
复制代码

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
LittlePupil + 3

查看全部评分 View all ratings

Failed to load the content due to unknown reasons.

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-4-17 06:46 , Processed in 0.275705 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list