计算化学公社

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

[CP2K] 请教psmp版cp2k在超算上振动分析提交至某队列会在SCF迭代前中断

[复制链接 Copy URL]

36

帖子

0

威望

499

eV
积分
535

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 白菜 于 2025-9-19 13:27 编辑

老师们好,我想在超算上用CP2K进行振动分析,验证结构优化是极小点,但是总是在SCF迭代前中止,想请老师们帮忙看看原因:
1. 集群每台计算节点配备:2颗Intel Xeon Gold 6142处理器(主频2.6 GHz,16核)、192 GB DDR4内存、240 GB 本地SSD硬盘。
   设置了两个队列:score队列(串行作业和32 核以下的并行作业建议提交至score队列)、snode队列(使用32的倍数的核数的并行作业须提交到snode队列)。
2. 183个原子的MOF体系,a b c边长都是15埃左右。
(1)输入文件 .inp设NPROC_REP=1,psmp提交脚本.lsf设NP_PER_NODE=2 OMP_NUM_THREADS=2(测试一下),提交到score队列,能进入SCF迭代,迭代了四五轮SCF中止了。
     猜测是内存爆了。
(2)下面用128核开始跑:
① NPROC_REP=4时,就是4个MPI进程对应1个副本,用popt版本、提交到snode队列,能正常运行。
    NPROC_REP=8 时,用popt版本、提交到snode队列,能正常运行。
② NPROC_REP=1时,用psmp版本、提交到snode队列
设置NP_PER_NODE=4 OMP_NUM_THREADS=8 (每个节点4个进程,每个进程下8个线程)
或者NP_PER_NODE=8 OMP_NUM_THREADS=4
或者NP_PER_NODE=2 OMP_NUM_THREADS=16
或者NP_PER_NODE=1 OMP_NUM_THREADS=32,都在计算后两分钟左右中止:
a. 副本的out文件里没有报错,最多是打印了SCF迭代的表头,都没进入SCF迭代。
b. JOBID.out里是提示:
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 11 PID 181259 RUNNING AT b2032
=   KILLED BY SIGNAL: 9 (Killed)



Cd_pri_s1_freq_PBEsolD3-r-0.out (86.03 KB, 下载次数 Times of downloads: 1)
Cd_pri_s1_freq_PBEsolD3.out (79.83 KB, 下载次数 Times of downloads: 0)
19194292.err (836 Bytes, 下载次数 Times of downloads: 0)
19194292.out (3.41 KB, 下载次数 Times of downloads: 0)
(3)我监控了(2)② 中NP_PER_NODE=1 OMP_NUM_THREADS=32时任务所在节点的内存使用量,前一分钟差不多是35%,然后调成58%,2秒后变成20%,任务就kill了。
        还提交了只有8个原子的振动分析任务,jodid.out里的提示信息也是一样的。都没有进入SCF迭代。
(4)① 我怀疑是psmp版本提交脚本的问题,但是超算管理员检查了没问题。
        ② 内存不够的话,8个原子的振动分析任务也失败了,它的内存应该够。
             NPROC_REP=4的popt版本 和 NPROC_REP=1时NP_PER_NODE=4 OMP_NUM_THREADS=8的psmp版本,都对应于96核算24个副本,前者可以,psmp更节约内存才对。
现在就是没法用psmp版本的cp2k,后面还要算1400多个原子的体系,用psmp版本效率高一些且内存少些。但是不知道怎么解决这个问题。
===================================================

又尝试了一些设置,作为补充,都是psmp版本,:
①  对前面的体系还是振动分析,128核:
     NPROC_REP 4;
     NP_PER_NODE=8       # MPI processes per node
     OMP_NUM_THREADS=4   # OpenMP threads per MPI process
也是中止在SCF迭代前,JOBID.out里的提示如前,JOBID.err里的提示如下:
b2118.180274Unknown/unhandled packet type 0x4de1
b2118.180271Unknown/unhandled packet type 0x5b
forrtl: severe (174): SIGSEGV, segmentation fault occurred
forrtl: severe (174): SIGSEGV, segmentation fault occurred
--------------------------------------------------------------------------------------------------------
② 对尿素进行振动分析,32核,score队列,
     NP_PER_NODE=8       # MPI processes per node
     OMP_NUM_THREADS=4   # OpenMP threads per MPI process
也是中止在SCF迭代前,JOBID.out里的提示如前,JOBID.err里的提示如下:
b1845.209114Unknown/unhandled packet type 0x5321
b1845.209117Unknown/unhandled packet type 0x2f37
b1845.209118Unknown/unhandled packet type 0xcf33
b1845.209119Unknown/unhandled packet type 0x7433
forrtl: severe (154): array index out of bounds
Image              PC                Routine            Line        Source
cp2k.psmp          000000000CA926EB  Unknown               Unknown  Unknown
libpthread-2.17.s  00002B2ED51386D0  Unknown               Unknown  Unknown
cp2k.psmp          0000000003B57BAB  pw_methods_mp_pw_         969  pw_methods.F
libiomp5.so        00002B2ED5786BB3  __kmp_invoke_micr     Unknown  Unknown
libiomp5.so        00002B2ED5702903  Unknown               Unknown  Unknown
libiomp5.so        00002B2ED5701912  Unknown               Unknown  Unknown
libiomp5.so        00002B2ED578783C  Unknown               Unknown  Unknown
libpthread-2.17.s  00002B2ED5130E25  Unknown               Unknown  Unknown
libc-2.17.so       00002B2ED5B66BAD  clone                 Unknown  Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
cp2k.psmp          000000000CA926BA  Unknown               Unknown  Unknown
libpthread-2.17.s  00002AC2760786D0  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002AC34B9A0D6D  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002AC34B9A0C6F  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002AC34B9BE564  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002AC34B9C21A8  Unknown               Unknown  Unknown
libpthread-2.17.s  00002AC276070E25  Unknown               Unknown  Unknown
libc-2.17.so       00002AC276AA6BAD  clone                 Unknown  Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
cp2k.psmp          000000000CA926BA  Unknown               Unknown  Unknown
libpthread-2.17.s  00002B55637046D0  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002B563902CD6D  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002B563902CC6F  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002B563904A564  Unknown               Unknown  Unknown
libpsm2.so.2.1     00002B563904E1A8  Unknown               Unknown  Unknown
libpthread-2.17.s  00002B55636FCE25  Unknown               Unknown  Unknown
libc-2.17.so       00002B5564132BAD  clone                 Unknown  Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
forrtl: severe (174): SIGSEGV, segmentation fault occurred
forrtl: severe (174): SIGSEGV, segmentation fault occurred
----------------------------------------------------------------------------------------------------------
③  对Si晶胞计算单点能,64核,snode队列。
     NP_PER_NODE=8       # MPI processes per node
     OMP_NUM_THREADS=4   # OpenMP threads per MPI process
    正常运行结束。







306

帖子

0

威望

688

eV
积分
994

Level 4 (黑子)

2#
发表于 Post on 2025-9-19 00:43:37 | 只看该作者 Only view this author
psmp版本编译后有没有做过测试?

36

帖子

0

威望

499

eV
积分
535

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2025-9-19 02:18:28 | 只看该作者 Only view this author
KazusaT 发表于 2025-9-19 00:43
psmp版本编译后有没有做过测试?

您好~cp2k是超算管理员编译的,应该没有专门测试。您说的测试是具体指什么呢?现在我试了对Si晶胞计算单点能,用psmp版本可以正常运行。

16

帖子

0

威望

644

eV
积分
660

Level 4 (黑子)

4#
发表于 Post on 2025-9-19 10:35:24 | 只看该作者 Only view this author
PSMP不需要调整NPROC_REP, 只需要调整OMP_NUM_THREADS * mpirun 的数量=总核数,每个核分配4G内存即可

36

帖子

0

威望

499

eV
积分
535

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2025-9-19 13:27:14 | 只看该作者 Only view this author
wangxc 发表于 2025-9-19 10:35
PSMP不需要调整NPROC_REP, 只需要调整OMP_NUM_THREADS * mpirun 的数量=总核数,每个核分配4G内存即可

解决啦!谢谢您

本版积分规则 Credits rule

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

GMT+8, 2026-2-17 18:58 , Processed in 0.166146 second(s), 23 queries , Gzip On.

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