计算化学公社

标题: cp2k跑分子动力学,跑了几十步后自己停了。显示内存溢出。 [打印本页]

作者
Author:
sunhao    时间: 2022-6-27 11:34
标题: cp2k跑分子动力学,跑了几十步后自己停了。显示内存溢出。
cp2k跑分子动力学,跑了几十步后自己停了。显示内存溢出。跟客服联系,减少了核数,还是不行。请问这种问题怎么解决呢?
报错信息:
(, 下载次数 Times of downloads: 35)


作者
Author:
KiritsuguPapa    时间: 2022-6-27 11:55
cp2k内存溢出是老问题了 换编译器/MPI 重新编译
作者
Author:
abin    时间: 2022-6-27 20:23
图片显示的信息是,
你实际内存使用量超过了你在调度器申请的额度。

所以是out of memory kill.

如果已经申请了物理内存总量的90%,
还是遭遇这个问题。那就是编译器不当以及版本问题,或者bug.

你可以使用我调教的版本。
用的人说,解决了内存溢出问题。

签名连接中有你要的软件链接。
作者
Author:
sunhao    时间: 2022-6-28 11:13
KiritsuguPapa 发表于 2022-6-27 11:55
cp2k内存溢出是老问题了 换编译器/MPI 重新编译

好的,非常感谢。重新编译一下试试
作者
Author:
sunhao    时间: 2022-6-29 09:39
KiritsuguPapa 发表于 2022-6-27 11:55
cp2k内存溢出是老问题了 换编译器/MPI 重新编译

让工程师重新编译了一下,还是出现同样的报错。是我的体系太大了吗,大概500个原子。还是我的.inp里的参数设置有问题?请大佬指点。 (, 下载次数 Times of downloads: 26) (, 下载次数 Times of downloads: 28) (, 下载次数 Times of downloads: 27) (, 下载次数 Times of downloads: 25)

作者
Author:
KiritsuguPapa    时间: 2022-6-30 16:30
sunhao 发表于 2022-6-29 09:39
让工程师重新编译了一下,还是出现同样的报错。是我的体系太大了吗,大概500个原子。还是我的.inp里的参 ...

跑的过程中监控一下内存用量free -h 看看内存是不是跑着跑着逐渐变少   是的话就是内存溢出bug
作者
Author:
sunhao    时间: 2022-7-1 23:15
KiritsuguPapa 发表于 2022-6-30 16:30
跑的过程中监控一下内存用量free -h 看看内存是不是跑着跑着逐渐变少   是的话就是内存溢出bug

确实是内存跑着跑着逐渐变少,最后内存被吃完,停了。。。 (, 下载次数 Times of downloads: 28) 请问这种情况怎么解决呢?非常感谢!

作者
Author:
sunhao    时间: 2022-7-2 15:41
KiritsuguPapa 发表于 2022-6-30 16:30
跑的过程中监控一下内存用量free -h 看看内存是不是跑着跑着逐渐变少   是的话就是内存溢出bug

发现参数PRECONDITIONER是FULL_ALL时,内存很快就满了,60步左右计算停止。
PRECONDITIONER是FULL_KINETIC时,内存上涨的比较慢,能跑2000步,但最终内存还是会爆掉。
但我的体系用FULL_KINETIC收敛很费劲,很耗时。。不是很合适。
一直搞不太懂,是我的体系太大了或者参数的问题?还是编译或者bug的问题。。搞了两周了都没搞定。。

用的cif格式的结构文件,近600个原子。
(, 下载次数 Times of downloads: 30) (, 下载次数 Times of downloads: 25)

用96个核跑的,9.1版本的cp2k。8.1的也试了,也是内存溢出。
(, 下载次数 Times of downloads: 27)

作者
Author:
KiritsuguPapa    时间: 2022-7-2 15:58
重新编译一下cp2k  用intel编译器和intel mpi试试。之前有因为openmpi或者ELPA这两个因素导致内存溢出的案例
作者
Author:
sunhao    时间: 2022-7-2 16:20
KiritsuguPapa 发表于 2022-7-2 15:58
重新编译一下cp2k  用intel编译器和intel mpi试试。之前有因为openmpi或者ELPA这两个因素导致内存溢出的案 ...

好的,谢谢。我再试试。
作者
Author:
Weldingspock    时间: 2023-4-27 16:41
KiritsuguPapa 发表于 2022-7-2 15:58
重新编译一下cp2k  用intel编译器和intel mpi试试。之前有因为openmpi或者ELPA这两个因素导致内存溢出的案 ...

您好,我也遇到了这个问题。我之前是用gcc编译, open mpi运行的。请问如果要用intel mpi的话是不是必须要用intel编译器编译才可以呢
作者
Author:
KiritsuguPapa    时间: 2023-6-5 15:55
Weldingspock 发表于 2023-4-27 16:41
您好,我也遇到了这个问题。我之前是用gcc编译, open mpi运行的。请问如果要用intel mpi的话是不是必须 ...

刚看到。应该也不是必须用intel编译器。
但是用最新的cp2k-2022 toolchain编译好像没这个问题了
作者
Author:
exsolution    时间: 2023-10-30 17:07
请问博主解决了吗,再跑2023.2的时候也遇到了同样的问题,内存不断增大,最挤满C:\Users\11207\Desktop\微信图片_20231030170640.png
作者
Author:
chemistryMaga    时间: 2024-7-23 10:10
遇到了相同的问题,怀疑是不是因为slurm的问题?
作者
Author:
chemistryMaga    时间: 2024-7-23 10:12
exsolution 发表于 2023-10-30 17:07
请问博主解决了吗,再跑2023.2的时候也遇到了同样的问题,内存不断增大,最挤满

请问楼主问题解决了吗?
作者
Author:
kirSTY    时间: 2024-9-3 20:01
楼主开了96个进程,单线程,相当于纯.popt版,进程之间不共享内存,内存占用自然会越来越大,等96进程彻底启动起来了肯定爆内存的。
如果超算可以多线程并行,修改export OMP_NUM_THREADS,结合低一点的np参数+psmp跑;或者在输入文件中限制内存占用量:“&XC/&HF/&MEMORY MAX_MEMORY”限制每个MPI进程的最大最内存用量。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3