计算化学公社

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

[CP2K] 求助:成功编译CP2K,扩胞后做振动分析出错

[复制链接 Copy URL]

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 stishovite 于 2024-5-20 08:31 编辑

单机,Win11 + WSL2 + Ubuntu24.04
CPU:AMD Ryzen9 7950X  16核32线程
内存:32GB*2

用sob老师介绍的toolchain方法,和官方的SPACK方法都编译成功了,cp2k.ssmp -v, cp2k.popt -v 和 cp2k.psmp -v 均正常显示。
做结构优化、能量计算、单胞的振动分析都很顺利,但扩胞再做振动分析时,出现“MPI_ABORT was invoked on rank 10 in communicator MPI_COMM_WORLD”之类的错误。重启Windows和WSL2也无法解决。

提交命令为 mpirun -np 16 cp2k.psmp cp25-freq-supercell.inp |tee cp25-freq-supercell.out

  1. REPLICA| layout of the replica grid, number of groups                        16
  2. REPLICA| layout of the replica grid, size of each group                       1
  3. REPLICA| MPI process to grid (group,rank) correspondence:
  4.   (   0 :    0,   0)  (   1 :    1,   0)  (   2 :    2,   0)  (   3 :    3,   0)
  5.   (   4 :    4,   0)  (   5 :    5,   0)  (   6 :    6,   0)  (   7 :    7,   0)
  6.   (   8 :    8,   0)  (   9 :    9,   0)  (  10 :   10,   0)  (  11 :   11,   0)
  7.   (  12 :   12,   0)  (  13 :   13,   0)  (  14 :   14,   0)  (  15 :   15,   0)
  8. --------------------------------------------------------------------------
  9. MPI_ABORT was invoked on rank 10 in communicator MPI_COMM_WORLD
  10.   Proc: [[33611,1],10]
  11.   Errorcode: 1

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

并且,当提交命令为mpirun -np 32 cp2k.psmp cp25-freq-supercell.inp |tee cp25-freq-supercell.out,更会出现下面的问题。

  1. --------------------------------------------------------------------------
  2. There are not enough slots available in the system to satisfy the 32
  3. slots that were requested by the application:

  4.   cp2k.psmp

  5. Either request fewer procs for your application, or make more slots
  6. available for use.

  7. A "slot" is the PRRTE term for an allocatable unit where we can
  8. launch a process.  The number of slots available are defined by the
  9. environment in which PRRTE processes are run:

  10.   1. Hostfile, via "slots=N" clauses (N defaults to number of
  11.      processor cores if not provided)
  12.   2. The --host command line parameter, via a ":N" suffix on the
  13.      hostname (N defaults to 1 if not provided)
  14.   3. Resource manager (e.g., SLURM, PBS/Torque, LSF, etc.)
  15.   4. If none of a hostfile, the --host command line parameter, or an
  16.      RM is present, PRRTE defaults to the number of processor cores

  17. In all the above cases, if you want PRRTE to default to the number
  18. of hardware threads instead of the number of processor cores, use the
  19. --use-hwthread-cpus option.

  20. Alternatively, you can use the --map-by :OVERSUBSCRIBE option to ignore the
  21. number of available slots when deciding the number of processes to
  22. launch.
复制代码




9

帖子

0

威望

79

eV
积分
88

Level 2 能力者

2#
发表于 Post on 2024-5-13 22:04:13 | 只看该作者 Only view this author
1.先确定toolchain安装的环境已经source
2.用psmp的话,可以试试export NUM_OMP_THREADS=1,或者直接用popt试试

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

3#
发表于 Post on 2024-5-14 07:21:11 | 只看该作者 Only view this author
用popt版。若用psmp版必须自己设NUM_OMP_THREADS,否则每个MPI进程都会试图用所有逻辑核心数当做下属的OpenMP线程数,那么多MPI进程一起跑直接卡死了
并行核数不要超过物理核心数,-np 32显然不合适
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2024-5-14 08:25:12 | 只看该作者 Only view this author
本帖最后由 stishovite 于 2024-5-16 17:04 编辑
sobereva 发表于 2024-5-14 07:21
用popt版。若用psmp版必须自己设NUM_OMP_THREADS,否则每个MPI进程都会试图用所有逻辑核心数当做下属的Open ...

谢谢老师的回复。
我用SPACK编译的psmp版无法直接运行popt版,所以贴子里用了最后一个psmp运行的例子。之前用toolchain编译cp2k,psmp和popt版都可以运行的,但是popt版仍然有同样的问题。
会不会是我的输入文件有问题。我发现单胞可以跑成功,扩胞后才会出现上述问题。


5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

5#
发表于 Post on 2024-5-14 08:34:06 | 只看该作者 Only view this author
stishovite 发表于 2024-5-14 08:25
谢谢老师的回复。
我用SPACK编译的psmp版无法直接运行popt版,所以贴子里用了最后一个psmp运行的例子。 ...

我不用WSL,不伦不类
建议先在vmware虚拟机里的linux客户机(推荐RockyLinux)里跑成功了再说,那算是个正经的linux环境
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

85

帖子

0

威望

735

eV
积分
820

Level 4 (黑子)

6#
发表于 Post on 2024-5-14 09:11:43 | 只看该作者 Only view this author
第二个问题可以用在mpirun后面加一个--oversubscribe解决

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2024-5-14 09:54:05 | 只看该作者 Only view this author
sobereva 发表于 2024-5-14 08:34
我不用WSL,不伦不类
建议先在vmware虚拟机里的linux客户机(推荐RockyLinux)里跑成功了再说,那算是个 ...

谢谢,我试试

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

8#
 楼主 Author| 发表于 Post on 2024-5-14 09:54:27 | 只看该作者 Only view this author
喝杯热水 发表于 2024-5-14 09:11
第二个问题可以用在mpirun后面加一个--oversubscribe解决

谢谢,我试试

417

帖子

1

威望

2196

eV
积分
2633

Level 5 (御坂)

9#
发表于 Post on 2024-5-14 11:04:44 | 只看该作者 Only view this author
WSL里面搞MPI并行的话,需要一些额外的设置,或者说正常的Linux里用不着的设置。比如这里 https://zhuanlan.zhihu.com/p/336548967 就提到了一些问题。不建议用WSL搞CP2K。

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 2024-5-14 17:01:14 | 只看该作者 Only view this author
本帖最后由 stishovite 于 2024-5-20 08:12 编辑
sobereva 发表于 2024-5-14 08:34
我不用WSL,不伦不类
建议先在vmware虚拟机里的linux客户机(推荐RockyLinux)里跑成功了再说,那算是个 ...

谢谢sob老师的建议,我早上重装了新的Ubuntu24.04系统(非虚拟机),也顺利编译cp2k成功了,但是问题仍时有发生。我觉得有可能是输入文件的问题,因为结构优化和能量计算的任务可以很快跑完,而振动分析的任务则不行,都会遇到问题。

麻烦老师指导一下如何生成振动分析的输入文件,我需要对2*2*2的超胞进行分析。


补充:单胞的振动分析可以顺利跑完,但是扩胞以后就出问题了,所以我怀疑是我在生成超胞的输入文件过程中出现失误了。

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

11#
 楼主 Author| 发表于 Post on 2024-5-14 17:11:59 | 只看该作者 Only view this author
本帖最后由 stishovite 于 2024-5-16 17:03 编辑
Daniel_Arndt 发表于 2024-5-14 11:04
WSL里面搞MPI并行的话,需要一些额外的设置,或者说正常的Linux里用不着的设置。比如这里 https://zhuanlan ...

非常感谢,我重装了系统Ubuntu24.04,也顺利编译成功了,但是问题依旧存在。我觉得有可能是输入文件的问题,因为结构优化和能量计算的任务可以很快跑完,而振动分析的任务则不行,都会遇到问题。

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

12#
发表于 Post on 2024-5-14 23:24:17 | 只看该作者 Only view this author
stishovite 发表于 2024-5-14 17:01
谢谢sob老师的建议,我早上重装了新的Ubuntu24.04系统(非虚拟机),也顺利编译cp2k成功了,但是问题仍时 ...

如果仅仅是改了晶胞倍数的设置,没准是扩胞后对内存消耗太大导致内存不够崩了
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

31

帖子

0

威望

138

eV
积分
169

Level 3 能力者

13#
 楼主 Author| 发表于 Post on 2024-5-15 11:16:57 | 只看该作者 Only view this author
sobereva 发表于 2024-5-14 23:24
如果仅仅是改了晶胞倍数的设置,没准是扩胞后对内存消耗太大导致内存不够崩了

请问老师有没有节省内存的设置?
另外,扩胞时以下两个功能是什么关系,
19 Translate and duplicate cell (constructing supercell)
3 Set number of repetitions of the cell in X, Y, Z, current:  1  1  1?

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

14#
发表于 Post on 2024-5-16 00:29:29 | 只看该作者 Only view this author
stishovite 发表于 2024-5-15 11:16
请问老师有没有节省内存的设置?
另外,扩胞时以下两个功能是什么关系,
19 Translate and duplicate c ...

对于纯泛函的计算,原子数越多、晶胞越大、基组越大、CUTOFF越大,都会导致越耗时、越耗内存
前者直接把&COORD、&CELL里的晶胞直接变成超胞,后者只是改晶胞倍数信息,&COORD和&CELL里记录的还是原胞部分
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

13

帖子

0

威望

56

eV
积分
69

Level 2 能力者

15#
发表于 Post on 2024-5-23 22:14:43 | 只看该作者 Only view this author
stishovite 发表于 2024-5-14 17:01
谢谢sob老师的建议,我早上重装了新的Ubuntu24.04系统(非虚拟机),也顺利编译cp2k成功了,但是问题仍时 ...

按理说是内存的问题,但是你都能有三十二个核心,内存应该是足够的,你可以试试减小为2 2 1 或者2 1 1 看看可否跑成功。如果可以成功那应该是内存问题。

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 14:33 , Processed in 0.262167 second(s), 21 queries , Gzip On.

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