VASP计算时,计算精度固然重要,但是我们不能一味的追求高精度而不考虑计算成本。最理想的目标就是用最低的计算成本来获得相对最好的计算精度,即所谓的提高计算效率。
今天我们就来讨论一下如何提高计算效率。
-
INCAR 中NPAR(NCORE), LPLANE, NSIM参数会影响计算效率。设置建议如下LPLANE = .TRUE.,NSIM=4,NCORE= CORE/NPAR (这个参数的必须能被计算所用核数整除,建议32 核和48 核用NCORE=8, 120 核用NCORE=12)
-
对于长时间无法收敛的计算任务的建议:
-
检验结构是否合理
-
尝试选取较小体系计算或者降低计算精度;
-
对于大体系用IALGO=48,可以设置ALGO=very fast or fast;
-
测试ENCUT和k点设置,确定其合理性;
-
可以尝试做多次优化:依次提高收敛精度,逐步优化。
-
减少k点数目,待结构优化好后,增加k点到你需要的精度,接着优化(读取前面得到的WAVECAR)
-
并行效率:
进程数增加的时候需要提高NPAR和KPAR来降低通信以提高并行效率。(下面论述来自一个人就是一个叠加态)
NPAR,如果设置IALGO=38,则NPAR取1。对IALGO=48,影响不是特别大,可选2或4,可选节点数,取值越大,内存占用越多。
设置KPAR为计算节点数或k点数。KPAR用来设置k点的计算并行度。每个k点用N/KPAR个核来计算,N为总核数。核数很多时(>100),这个参数的影响比较大。