计算化学公社

标题: ORCA的ESD模块报错OUT OF MEMORY ERROR! 该如何解决 [打印本页]

作者
Author:
ABetaCarw    时间: 2025-6-22 03:07
标题: ORCA的ESD模块报错OUT OF MEMORY ERROR! 该如何解决
我想咨询的问题是:
ESD报错OUT OF MEMORY ERROR!
是指maxcore 太小了,还是说服务器的内存太小了?
谢谢


我对某个95原子的纯有机体系进行如下计算,服务器为256G内存

! REVPBE38 def2-SVP def2/J RIJCOSX tightscf ESD(FLUOR) NoAutoStart
%maxcore    48000
%pal nprocs  4 end

%tddft
tda false
nroots 5
iroot 1
PRINTLEVEL 10
end

%esd
gshessian "XXXXX.hess" # Ground state Hessian
eshessian "XXXXX.hess" # Excited state Hessian
TEMP 298.15
PRINTLEVEL 10
end

# S0 geometry
* xyzfile 0 1 XXXXX.xyz



以上是为了排错,我把一些手册中建议添加的关键词都删了,大家别模仿。
运行后报错

          ***Everything is set, now computing the correlation function***

Homogeneous linewidth is:                        50.00 cm-1
Number of points:                                2147483648
Maximum time:                                        1592.65 fs
Spectral resolution:                                3.33 cm-1
Temperature used:                                298.15 K
Z value:                                        2.638879e-312
Cutoff for the correlation function:                1.00e-06
Adiabatic energy difference:                        14411.00 cm-1
0-0 energy difference:                                14105.75 cm-1
Reference transition dipole (x,y,z):                (-1.98767e+00 0.00000e+00),
                                                    (-3.12896e-01 0.00000e+00),
                                                    (2.15224e+00 0.00000e+00)
Calculating correlation function:                [file orca_tools/qcmem.cpp, line 957]:  OUT OF MEMORY ERROR!

[file orca_tools/qcmem.cpp, line 957]:  OUT OF MEMORY ERROR!


ORCA finished by error termination in ORCA_ESD
Calling Command: /data/home/xiadasha/ORCA/orca610/orca_esd TPVT-NZ_FLUOR.esdinp.tmp  TPVT-NZ_FLUOR /tmp/xiadasha/76182
[file orca_tools/qcmsg.cpp, line 394]:
  .... aborting the run

[file orca_tools/qcmsg.cpp, line 394]:
  .... aborting the run



而我对另一个107原子差不多的分子做如上一样的计算,只是改了如下信息
maxcore    12000
pal nprocs  16 end

最终却能够正常运行,我茫然了……


作者
Author:
wzkchem5    时间: 2025-6-22 08:22
这种是maxcore太大了,不是太小了。
maxcore太小的时候,报错信息一般是“maxcore不够执行某某操作,请增大maxcore”之类
作者
Author:
ABetaCarw    时间: 2025-6-22 11:14
wzkchem5 发表于 2025-6-22 08:22
这种是maxcore太大了,不是太小了。
maxcore太小的时候,报错信息一般是“maxcore不够执行某某操作,请增 ...

可是我的 4*48000M < 256G*0.75
不存在设置过大超过物理内存的情况。

还有就是 我还做过
maxcore    4000
pal nprocs  56 end
这样的计算,也是报了OUT OF MEMORY ERROR!


王老师说这个情况确实是我第一次听说的,请问我该如何避免该类报错。
作者
Author:
wzkchem5    时间: 2025-6-22 11:40
发现问题了,你的Number of points为什么这么大?一般来说是在几万到几十万的量级。可能因为这个,导致某个正常情况下肯定不会超过maxcore、因此程序不统计其内存的函数,分配的内存超过了机器可用物理内存。
如果确定所用的Hessian、结构没问题,但是程序仍然默认选取了这么多的points,可以在orca论坛上报一下bug
作者
Author:
ABetaCarw    时间: 2025-6-22 12:27
wzkchem5 发表于 2025-6-22 11:40
发现问题了,你的Number of points为什么这么大?一般来说是在几万到几十万的量级。可能因为这个,导致某个 ...

继续请教王老师,哪些糊涂操作可能会导致该问题(Number of points过大),什么样的hessian问题或者结构问题会导致该情况。

比如是否可能是S0和S1的形变过大导致的
报错的这个(97原子)RMSD大于1 A  
侥幸通过的那个(107原子),我查了Number of points:16777216 ,RMSD=0.596 A
两个都报了 The K*K value is too large (>30)!

作者
Author:
wzkchem5    时间: 2025-6-22 15:35
ABetaCarw 发表于 2025-6-22 12:27
继续请教王老师,哪些糊涂操作可能会导致该问题(Number of points过大),什么样的hessian问题或者结构 ...

你的Maximum time、0-0 energy difference、Spectral resolution都在正常范围。可以检查一下是否有奇怪的振动频率,例如做数值Hessian的时候某一个displacement收敛到了错误的解,导致那个方向上的频率特别大。




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