计算化学公社

标题: 关于使用ORCA 6.0.0的GOAT模块进行多核计算时只有1个核心在运作的问题 [打印本页]

作者
Author:
Hitomilpc    时间: 2025-5-14 13:05
标题: 关于使用ORCA 6.0.0的GOAT模块进行多核计算时只有1个核心在运作的问题
各位老师好,
    我最近在学习用ORCA的GOAT模块做一些构象检查的工作,我的ORCA版本是6.0.0,平台是windows,已经安转了MSMPI,并且确认当进行OPT FREQ SP这类常规任务时,并行计算没有问题。但是当我进行GOAT任务时,计算用的核心数只有1 (利用率100%),其他核心利用率都接近0%,然而我在inp file内的设置数是24。想请教一个各位老师,问题可能出在哪。我的input文件如下:

!GOAT XTB Normalprint

%output
Print[P_Basis] 2
Print[P_MOs] 1
end

%Pal NPROCS 24 end
%MaxCore 4000

*xyz 1 1
...
*

作者
Author:
Hitomilpc    时间: 2025-5-14 14:53
各位老师好,我再次运行了一次计算,发现goat中worker计算确实是并行计算的,但是worker计算完后,整个程序像是卡住一样,不更新任何结果,导致我看到任务管理器中只有一个orca程序在运行,对应了一个核心。想请教下各位老师这是什么原因造成的,谢谢
作者
Author:
wzkchem5    时间: 2025-5-14 17:01
Hitomilpc 发表于 2025-5-14 14:53
各位老师好,我再次运行了一次计算,发现goat中worker计算确实是并行计算的,但是worker计算完后,整个程序 ...

单核计算消耗的时间,比worker计算所需时间长吗?
worker计算全部完成以后,程序需要一定的汇总结果的时间,汇总结果的代码可能没并行化。
还有一种可能是有一个worker计算明显比其他workers都慢
作者
Author:
Hitomilpc    时间: 2025-5-15 10:12
wzkchem5 发表于 2025-5-14 17:01
单核计算消耗的时间,比worker计算所需时间长吗?
worker计算全部完成以后,程序需要一定的汇总结果的时 ...

老师你好,应该是worker第一轮计算后在汇总过程中出了问题。我这边尝试了一下发现是设置的核心数的问题。inp中我没有定义worker的数量,当nprocs大于自动产生的worker数量后会出现这样的问题。当我把nprocs数量调到和worker数量一致后就能顺利计算了。可能goat内部算法上还有一些bug。也非常感谢老师的建议!
作者
Author:
wzkchem5    时间: 2025-5-15 11:04
Hitomilpc 发表于 2025-5-15 10:12
老师你好,应该是worker第一轮计算后在汇总过程中出了问题。我这边尝试了一下发现是设置的核心数的问题。 ...

如果是这样的话,应当在orca论坛上报bug
作者
Author:
Hitomilpc    时间: 2025-5-15 17:41
wzkchem5 发表于 2025-5-15 11:04
如果是这样的话,应当在orca论坛上报bug

好的,老师,晚点我上下orca论坛报一下bug
作者
Author:
895098540wkw    时间: 2025-6-11 20:14
提问,用GOAT和xTB做构象分析的时候,最后的Global minimum结构是在out文件里输出的那个嘛?还是需要在finalensemble.xyz的文件里,对每个结构进行优化后才能确定哪个是global minimum呀?
作者
Author:
wzkchem5    时间: 2025-6-12 10:04
895098540wkw 发表于 2025-6-11 20:14
提问,用GOAT和xTB做构象分析的时候,最后的Global minimum结构是在out文件里输出的那个嘛?还是需要在fina ...

有一个单独的文件,*.globalminimum.xyz
作者
Author:
895098540wkw    时间: 2025-6-12 15:27
在out文件里是写着全局最小结构写入了这个文件,但是未输出globalminimum.xyz的文件,不懂为什么。老师指的是做后续优化用out输出的这个global minimum的结果,而不是finalessemble.xyz中最小能量的结构吗?但这个global minimum的结构应该就是最后一个stationary point下的结构吧,这个构型的能量和finalessemble.xyz的最小能量一致,但是结构不一致,这是为什么呢?
作者
Author:
895098540wkw    时间: 2025-6-12 15:28
wzkchem5 发表于 2025-6-12 10:04
有一个单独的文件,*.globalminimum.xyz

在out文件里是写着全局最小结构写入了这个文件,但是未输出globalminimum.xyz的文件,不懂为什么。老师指的是做后续优化用out输出的这个global minimum的结果,而不是finalessemble.xyz中最小能量的结构吗?但这个global minimum的结构应该就是最后一个stationary point下的结构吧,这个构型的能量和finalessemble.xyz的最小能量一致,但是结构不一致,这是为什么呢?
作者
Author:
wzkchem5    时间: 2025-6-12 15:55
895098540wkw 发表于 2025-6-12 15:28
在out文件里是写着全局最小结构写入了这个文件,但是未输出globalminimum.xyz的文件,不懂为什么。老师指 ...

你是直接调用的orca可执行文件,还是用一个脚本调用的?
如果是后者,这个脚本是把输入文件拷到另一个目录下做计算,再把输出文件拷回来吗?会不会是globalminimum.xyz没拷回来?
作者
Author:
895098540wkw    时间: 2025-6-12 16:32
wzkchem5 发表于 2025-6-12 15:55
你是直接调用的orca可执行文件,还是用一个脚本调用的?
如果是后者,这个脚本是把输入文件拷到另一个目 ...

是用超算里的脚本调用的吧,输出的文件直接就在我的目录下了,之前给我操作手册的博后说orca计算的临时文件都是分散的,
“If a specific file that ORCA produces is required, one can always extract that folder by updating the sub_orca_(gp/op) code, such that it extracts the folder type of choice by adding another line of :
echo "cp $filename.(desired file type) $input_dir" >> jobfile
Which will then post the file into the folder one is working in.


所以我是需要自己去找到这个文件吗?最优的构型就根据globalminimum.xyz的结构为准,再进行后续的DFT结构优化

作者
Author:
wzkchem5    时间: 2025-6-12 18:22
895098540wkw 发表于 2025-6-12 16:32
是用超算里的脚本调用的吧,输出的文件直接就在我的目录下了,之前给我操作手册的博后说orca计算的临时文 ...

对,需要分析你们超算的脚本,找到这个文件在哪。
另外,按理说finalensemble的能量最低的结构应该和globalminimum一致,至多只差整体的平移、旋转,以及有效数字位数可能不一样,不应该有更多差别了
作者
Author:
895098540wkw    时间: 2025-6-12 23:10
wzkchem5 发表于 2025-6-12 18:22
对,需要分析你们超算的脚本,找到这个文件在哪。
另外,按理说finalensemble的能量最低的结构应该和glo ...

谢谢老师,我找到了globalminimum.xyz文件,确实和finalenssemble.xyz文件的最小能量结构坐标一致的。但一个博后和我说xTB这个半经验方法可能能量是不太准确的,他觉得我最好是用DFT精确优化finalenssemble.xyz的每一个结构(太多的话优化前20个),以确定哪个构型是最优的。老师您怎么建议呀?
作者
Author:
wzkchem5    时间: 2025-6-13 09:27
895098540wkw 发表于 2025-6-12 23:10
谢谢老师,我找到了globalminimum.xyz文件,确实和finalenssemble.xyz文件的最小能量结构坐标一致的。但 ...

确实需要这么做。不过与其优化前N个,不如先都算一遍DFT单点能,然后优化能量比最低能量构象高x kcal/mol以内的构象(x最好取到10,如果实在算不动可以考虑取5)。
优化前N个构象的问题在于,随着分子尺寸增大,遗漏DFT级别下能量最低构象的概率增长很快,导致同一个计算里面大分子的能量被系统性高估,不利于误差抵消
作者
Author:
895098540wkw    时间: 2025-6-13 16:05
wzkchem5 发表于 2025-6-13 09:27
确实需要这么做。不过与其优化前N个,不如先都算一遍DFT单点能,然后优化能量比最低能量构象高x kcal/mol ...

我计算的是有机小分子的堆积,我看了一下,大概有一百个堆积结构,需要都先算一下单点能吗?然后选出10或者5 kcal/mol的分子再去做opt和freq,最后在选出最优构型吗?另外,opt之后也是看单点能确定哪个是最优构型吧?
作者
Author:
wzkchem5    时间: 2025-6-14 08:14
895098540wkw 发表于 2025-6-13 16:05
我计算的是有机小分子的堆积,我看了一下,大概有一百个堆积结构,需要都先算一下单点能吗?然后选出10或 ...

需要。如果你能算得动10个结构优化,那必然算得动100个单点能
opt之后可以用更高级别的单点能了,比如DLPNO-CCSD(T)的单点能
作者
Author:
QJW    时间: 2025-7-26 00:33
wzkchem5 发表于 2025-6-12 15:55
你是直接调用的orca可执行文件,还是用一个脚本调用的?
如果是后者,这个脚本是把输入文件拷到另一个目 ...

老师您好,能请教您个问题吗,我用GOAT(没有后缀)模块通过XTB立场进行构象搜索后,对于每个步骤的中间产物只得出几个构象,其中还有结构非常相似的,请问这种情况正常吗?下一步是对于每个构象都优化一遍还是想办法扩大搜索范围啊?辛苦老师!
作者
Author:
QJW    时间: 2025-7-26 00:35
wzkchem5 发表于 2025-6-13 09:27
确实需要这么做。不过与其优化前N个,不如先都算一遍DFT单点能,然后优化能量比最低能量构象高x kcal/mol ...

还有看到最优构象这个问题,如果是想计算反应自由能,是只用最优构象进行计算还是先算分布然后计算所有可能的反应自由能呢?

作者
Author:
wzkchem5    时间: 2025-7-26 14:04
QJW 发表于 2025-7-26 00:33
老师您好,能请教您个问题吗,我用GOAT(没有后缀)模块通过XTB立场进行构象搜索后,对于每个步骤的中间 ...

正常
都优化一遍,然后去重,然后再做后续计算。只有在怀疑GOAT可能遗漏了重要构象的时候,才需要考虑扩大搜索范围。参见https://pubs.acs.org/doi/10.1021/jacs.5c05709?ref=PDF
作者
Author:
wzkchem5    时间: 2025-7-26 14:05
QJW 发表于 2025-7-26 00:35
还有看到最优构象这个问题,如果是想计算反应自由能,是只用最优构象进行计算还是先算分布然后计算所有可 ...

视需要的精度和机时而定,机时富裕而需要的精度高(例如0.5 kcal/mol以内)就算所有自由能然后做Boltzmann平均,否则只取最低能量构象(或最低自由能构象)也行
作者
Author:
QJW    时间: 2025-7-26 17:05
wzkchem5 发表于 2025-7-26 14:05
视需要的精度和机时而定,机时富裕而需要的精度高(例如0.5 kcal/mol以内)就算所有自由能然后做Boltzman ...

还有个问题,有个计算并没有最终结果,goat是根据什么判断计算停止的呢?
辛苦老师
作者
Author:
wzkchem5    时间: 2025-7-26 21:28
QJW 发表于 2025-7-26 17:05
还有个问题,有个计算并没有最终结果,goat是根据什么判断计算停止的呢?
辛苦老师

什么叫没有最终结果?输出文件的最后几十行是什么样的?orca进程结束了吗?




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