|
|
实验室的机器是AMD EPYC 7702 *2,128个实际核,256线程,编译VASP使用的是intel的高性能计算包。目前的状况是计算一个一百多个原子的磁性体系,每电子步时间要五六分钟左右,而用超算平台的话半分钟就可以自洽一次。并且在实验室的机器上使用的核数越多计算越缓慢,在调试了NCORE和KPAR后,只有在16线程跑是最快的,达到了4分钟一步,使用32或者64进程的话基本算不动。
目前想到的问题有这几点:
1、内存没插满,每个处理器是八通道但现在只查了4根64G内存。
2、AMD使用intel mkl时候指令集没有优化?
3、超线程是否有影响?今天把服务器超线程关了之后并没有速度明显改变。
4、MPI不同会有很大影响么,使用CASTEP并行时速度很快,VASP速度却非常慢。
大家有什么解决办法或者经验么?INCAR附在下面。
ISTART= 0
LWAVE = .TRUE.
LCHARG = .TRUE.
NCORE = 4
KPAR = 8
LREAL = Auto
ICHARG = 2
ISMEAR = 0
SIGMA = 0.01
ENCUT = 520
NELM = 100
EDIFF = 1E-6
LORBIT = 11
NEDOS = 6000
EMAX = 30
EMIN = -30
EDIFFG = -0.01
ISIF = 2
IBRION = 2
POTIM = 0.5
NSW = 500
ISPIN = 2
MAGMOM = 81*0 27*3 27*0
AMIX = 0.2
BMIX = 0.0001
AMIX_MAG = 0.8
BMIX_MAG = 0.0001
IALGO = 38
LMAXMIX = 4
K点是2 2 1
OUTCAR一部分如下:
POTLOK: cpu time 8.6378: real time 8.6437
SETDIJ: cpu time 0.3367: real time 0.3368
EDDAV: cpu time 333.4370: real time 333.6157
DOS: cpu time 0.0110: real time 0.0110
CHARGE: cpu time 8.1318: real time 8.1364
MIXING: cpu time 0.3944: real time 0.3946
--------------------------------------------
LOOP: cpu time 350.9487: real time 351.1383
运行命令是mpirun -np 16 vasp_ctl
|
|