计算化学公社

标题: 计算异质结太耗时间了,有没有什么技巧 [打印本页]

作者
Author:
wmg166    时间: 2023-9-21 10:13
标题: 计算异质结太耗时间了,有没有什么技巧
请教高手,用vasp计算异质结太耗时间了,尤其是100多个原子的体系, INPUT中添加 NPAR   或者 KPAR  也收效甚微。  有没有什么技巧?  

作者
Author:
乐平    时间: 2023-9-21 10:35
你目前的耗时大概是多少? 什么信息都没有怎么讨论呢……
查看 VASP 计算的耗时命令如下:
grep LOOP OUTCAR


另外,KPAR,NPAR, NCORE 这些关键词不是随便加的,要根据你的体系来测试。如果随便设置不会起到任何效果。

先 grep NKP OUTCAR
看看你体系里的 k 点总数是多少,比如是 N 。然后设置 KPAR = a,这里一定要让 N / a 等于整数。也就是要让你体系里的 k 点总数能被 KPAR 设置的参数整除。否则不会加快计算速度。

然后,你需要知道你的计算节点有多少 CPU 物理核心,假设为 C.
那么你需要设置 NCORE = b,这里一定要保证 b * a = C。也就是说,你前面设置的 KPAR 的数值乘以 NCORE 设置的数值一定要等于 CPU 物理核心数。

当然,b * a 可能并不一定正好等于你的 CPU 物理核心数,这时候 b * a 的值小于 C 也是可以接受的。不过你需要在提交脚本里把 CPU 使用数修改为 b * a 的值。

至于 a, b 的数值具体是多少,或者它们之间的比例具体如何分配,需要你跑几步测试之后来比较耗时情况。

作者
Author:
wmg166    时间: 2023-9-21 11:48
乐平 发表于 2023-9-21 10:35
你目前的耗时大概是多少? 什么信息都没有怎么讨论呢……
查看 VASP 计算的耗时命令如下:
grep LOOP OUT ...

谢谢大神指点。我的的是这样的:
$ grep NKP OUTCAR
   k-points           NKPTS =     96   k-points in BZ     NKDIM =     96   number of bands    NBANDS=    504


运行命令:mpirun -np 16 /opt/vasp/5.4.4/vasp_std > log

共 32核 CPU

INCAR 这样设的: NPAR = 4
KPAR = 2

作者
Author:
乐平    时间: 2023-9-22 09:47
本帖最后由 乐平 于 2023-9-22 09:48 编辑
wmg166 发表于 2023-9-21 11:48
谢谢大神指点。我的的是这样的:
$ grep NKP OUTCAR
   k-points           NKPTS =     96   k-point ...

32核为什么你只用 mpirun -np 16 ……

有 32 核就用 32 核呀,剩下 16 核浪费吗……

KPAR = 2   (意思是将你目前的 96 个 k 点,分成 2 组)
NCORE = 16   (相当于 16 x 2 = 32)

或者
KPAR = 4 (意思是将你目前的 96 个 k 点,分成 4 组)
NCORE = 8    (相当于 8 x 4 = 32)

以此类推,用这些组合跑几个离子步看看它们分别的耗时,用耗时最短的组合。
作者
Author:
汪杰    时间: 2024-10-21 19:19
乐平 发表于 2023-9-22 09:47
32核为什么你只用 mpirun -np 16 ……

有 32 核就用 32 核呀,剩下 16 核浪费吗……

老师您好,我使用了您的建议,设置了KPAR=8,NCORE=12,一个用了96核心,为什么他回报错:
the old and the new charge density differ
作者
Author:
乐平    时间: 2024-10-23 11:53
汪杰 发表于 2024-10-21 19:19
老师您好,我使用了您的建议,设置了KPAR=8,NCORE=12,一个用了96核心,为什么他回报错:
the old and th ...
the old and the new charge density differ

是电荷密度不一致,你应该不是只修改了并行条件,INCAR 里还修改了什么?
作者
Author:
汪杰    时间: 2024-10-23 12:24
乐平 发表于 2024-10-23 11:53
是电荷密度不一致,你应该不是只修改了并行条件,INCAR 里还修改了什么?

就是正常的一些参数,只是增加了这两个参数,后来我把这两个的乘积改小了,就没有报错了




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