计算化学公社

标题: 求助:CP2K内存如何控制 [打印本页]

作者
Author:
ZHANGZY    时间: 2021-7-25 23:36
标题: 求助:CP2K内存如何控制
本帖最后由 ZHANGZY 于 2021-7-26 16:00 编辑

运行CP2K(预编译ssmp版本)时,出错,说是内存不够,错误提示如下:
Operating system error: Cannot allocate memory
Allocation would exceed memory limit。
Error termination.

CASTEP程序可以选择在“memory”模式下运行,以避免内存不够的情况。不知道CP2K有没有这种输入方法,控制运行所需的内存。
求助各位大神,附件是我的输入文件,多谢!!!
作者
Author:
sobereva    时间: 2021-7-26 00:39
应当交代当前机子里有多少空余内存,具体什么CP2K版本

这段没必要写
   &HF
    &MEMORY
    ! In MB per MPI rank.. use as much as need to get in-core operation
    MAX_MEMORY 8000
    EPS_STORAGE_SCALING 0.1
    &END
   &END HF
作者
Author:
ZHANGZY    时间: 2021-7-26 06:25
本帖最后由 ZHANGZY 于 2021-7-26 16:01 编辑

多谢大神!
计算机比较老,cpu i5四核,16g 内存。CP2K是cp2k-8.2-Linux-x86_64.ssmp,也试过cp2k-7.1-Linux-x86_64.ssmp,都是“无法分配内存”
主要是想先在小台式计算机上试试,如果没问题,再提交小型工作站计算。
多谢大神
作者
Author:
sobereva    时间: 2021-7-27 00:22
去了&HF那段再试。纯泛函结合小基组在当前机子跑这样大小的体系不至于算不了。还应说明OMP_NUM_THERADS当前是多大,ulimit -a显示什么
作者
Author:
ZHANGZY    时间: 2021-7-27 11:50
谢谢大神。我在.bashrc 中设置export OMP_NUM_THREADS=2
ulimit -a显示什么?
zzy@zzy:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63439
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63439
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

去了&HF那段再试,出错信息如下,输入输出见附件
zzy@zzy:~/chemsoft/cp2k/scratch/13$ mpirun -n 4 /home/zzy/chemsoft/cp2k/cp2k-8.2-Linux-x86_64.ssmp -o montmori-2.out montmori-2.inp
Operating system error: Operating system error: Cannot allocate memory
Allocation would exceed memory limit

Error termination. Backtrace:
Cannot allocate memory
Allocation would exceed memory limit

Error termination. Backtrace:

Could not print backtrace: mmap: Cannot allocate memory

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:

Could not print backtrace: mmap: Cannot allocate memory

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:

Could not print backtrace: mmap, errno: 12
#0  0x376c8a0
#1  0x376bf7f
#2  0x387286f
#3  0x37ef124
#4  0x37ef64d
#5  0x37eb6b4
#6  0x37eb9db
#7  0x37e864e
#8  0x37e8761
#9  0x37ce225
#10  0x3862878
#11  0x37ce298
#12  0x376c876
#13  0x376ca43
#14  0x376cc1c
#15  0x1a2b209
#16  0x1a76c0b
#17  0x7f9648
#18  0x8ac155
#19  0x6c3af9
#20  0xc9b1eb
#21  0xd7ee37
#22  0xd8228d
#23  0xbabd66
#24  0x53dc94
#25  0x4d8fd7
#26  0x4b516b
#27  0x43aa92
#28  0x43dbc7
#29  0x43928f
#30  0x4066cc
#31  0x3873f03
#32  0x3874180
#33  0x437645
#0  0x387286f in ???
#1  0x37ef124 in free_abbrevs





作者
Author:
ZHANGZY    时间: 2021-7-28 11:09
CP2K太难了!好不容易盼来multiwfn会 写输入文件了。结果才252个原子,就算不动了了,内存不够,伤心。可为什么castep能算动?虽然慢点。
作者
Author:
sobereva    时间: 2021-8-12 05:18
远程说不清楚。尝试用popt版吧




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