猿代码 — 科研/AI模型/高性能计算
0

VASP, GPU配置推荐

摘要: 1)CPU:2696V3 *2 470*2(某宝)内存:镁光2133 16G*8 148*8(某宝)主板机箱电源:超微7048GR 3500 (某鱼)计算卡:TESLA P100 1500*4(某宝)硬盘:500G机械,闲置硬盘总价11624,不含税(2022年12 ...
1)

CPU:2696V3 *2                   470*2  (某宝)
内存:镁光2133 16G*8          148*8  (某宝)
主板机箱电源:超微7048GR    3500   (某鱼)
计算卡:TESLA P100              1500*4(某宝)
硬盘:500G机械,闲置硬盘
总价11624,不含税(2022年12月报价)

最早配的机器已经稳定运行半年多了,目前有三台同样配置的机器,经过多次验证,P100卡跑VASP足矣,我机器上一台4卡P100的计算速度跑我们学校超算中心的两张A100的计算速度是一样的,没必要使用V100或A100。另外GPU版只适合做300个原子以上的大体系,小体系计算过程中GPU大部分时间处于闲置状态。计算速度是受到CPU整理数据限制的。帖子里面的配置瓶颈是CPU的单核性能,我也尝试了用OPENMP+MPI编译VASP,每个GPU分配多个CPU核心,但基本没有什么提升效果。

2)
4卡P100:
     1 T=   400. E= -.38354159E+04 F=-.38601811E+04 E0= -.38581906E+04  EK=0.24765E+02 SP= 0.00E+00 SK= 0.00E+00
    LOOP+:  cpu time    445.6568: real time    442.0529  (77电子步)

3)
2卡2080S:
     1 T=   400. E= -.38354173E+04 F=-.38601812E+04 E0= -.38581906E+04  EK=0.24764E+02 SP= 0.00E+00 SK= 0.00E+00
    LOOP+:  cpu time   1311.2067: real time   1311.5196  (79电子步)

4)
CPU 2696V3 36核:
     1 T=   400. E= -.38353993E+04 F=-.38601816E+04 E0= -.38581905E+04  EK=0.24782E+02 SP= 0.00E+00 SK= 0.00E+00
     LOOP+: cpu time   2040.6643: realtime   2043.8574 (81电子步)

5)
CPU 8336C 64核:
     1 T=   400. E= -.38353970E+04 F=-.38601816E+04 E0= -.38581903E+04  EK=0.24785E+02 SP= 0.00E+00 SK= 0.00E+00
    LOOP+:  cpu time    746.1045: real time    751.661281电子步)

6)
CPU 8272CL 52核:
     1 T=   400. E= -.38354115E+04 F=-.38601818E+04 E0= -.38581908E+04  EK=0.24770E+02 SP= 0.00E+00 SK= 0.00E+00

    LOOP+:  cpu time   1149.2981: real time   1162.346777电子步)

7)
CPU 7R32  48核:
1 T=  400. E= -.38354004E+04 F= -.38601818E+04 E0= -.38581904E+04  EK= 0.24781E+02 SP= 0.00E+00 SK= 0.00E+00
LOOP+: cpu time    640.8056: realtime    643.9117  (78电子步)

8)
CPU 7R32  96核:
1 T=  399. E= -.38354520E+04 F= -.38601818E+04 E0= -.38581908E+04  EK= 0.24730E+02 SP= 0.00E+00 SK= 0.00E+00

LOOP+: cpu time    618.2759: real time    623.1789 81


9)
1,P100的双精度为2080S的10倍左右,但实际计算速度P100是2080S的2倍,有没有大佬知道什么原因?
2,P100计算时使用率最高90%左右,2080S则100%,是否CPU瓶颈?

10)
双路2696V3共36核,每电子步平均时间40秒

11)
再次论证了,
对于VASP等依赖双精度的计算任务,
使用专业卡,效果当然不错了。

这玩意不是跑MD,消费级的GPU是没啥用处的。

新卡当然很贵了, 不过可以试试万能的某宝某鱼呀。
反正都是拆机旧货,能用就行呗。

12)
52核8272CL的结果:

$ grep -m 1 F= OSZICAR
      1 T=   400. E= -.38354115E+04 F= -.38601818E+04 E0= -.38581908E+04  EK= 0.24770E+02 SP= 0.00E+00 SK= 0.00E+00
$ grep -m 1 LOOP+ OUTCAR
     LOOP+:  cpu time   1149.2981: real time   1162.3467(共77个电子步)


13)
$grep -m 1 F= OSZICAR
      1 T=   400. E= -.38354159E+04 F= -.38601811E+04 E0= -.38581906E+04  EK= 0.24765E+02 SP= 0.00E+00 SK= 0.00E+00
$ grep -m 1 LOOP+ OUTCAR
     LOOP+:  cpu time    445.6568: real time    442.0529   (同样77个电子步)

GPU是用gam版跑的,对于std版16G显存不够,跑这个结构会报错,可以试试用3090的24G显存跑std。
目前openacc版本的vasp用了nccl,只能用一个cpu核心带一个GPU,因而cpu单核性能会对计算结果有影响。
INCAR文件里面加上LUSENCCL = .FALSE.可以一个GPU上跑多个线程,我之前用2080s测试并没有性能提升,可能是由于一个线程已经使2080s性能跑满了,再多没有意义,后来换了P100之后没有再这样测过。
跑同样的任务,2080S使用率在稳定在98%左右,p100最高91%,偶尔还会更低。
我也尝试用OpenACC+OpenMP方式编译vasp,测试时使用4个cpu带一个gpu,性能有一丁点的提升,但是没算完第一个离子步就报错了,目前还没找到原因。

13)
3090跑的:
$ grep F= OSZICAR
      1 T=   400. E= -.38354008E+04 F= -.38601829E+04 E0= -.38581932E+04  EK= 0.24782E+02 SP= 0.00E+00 SK= 0.00E+00

$ grep LOOP+ OUTCAR
     LOOP+:  cpu time   2506.5651: real time   2511.0218

这个比较离谱 跑了132个电子步才收敛(改大了NELM)平均每电子步19秒 甚至比你的2080S略差一点

14)
单p100用vasp6.3.2的gam版的算这个算例要130电子步才算完1个离子步。然后稍微调低encut到350避免爆显存用std版计算只要68个离子步就算完了,平均每步18秒,结果和cpu版的相同,但是cpu版需要81步收敛,平均每步25秒,机器是2698v4,40核心。

15)
纯CPU 64核8375C
[root@Master test]# grep -m 1 F= OSZICAR
      1 T=   400. E= -.38354063E+04 F= -.38601817E+04 E0= -.38581909E+04  EK= 0.24775E+02 SP= 0.00E+00 SK= 0.00E+00
[root@master test]# grep -m 1 LOOP+ OUTCAR
     LOOP+:  cpu time    731.0543: real time    734.3854 (81电子步)看样还是GPU加速香

16)
CPU 7R32  gam版vasp
48核
1 T=   400. E= -.38354004E+04 F= -.38601818E+04 E0= -.38581904E+04  EK= 0.24781E+02 SP= 0.00E+00 SK= 0.00E+00
LOOP+:  cpu time    640.8056: real time    643.9117  (78电子步)

96核
1 T=   399. E= -.38354520E+04 F= -.38601818E+04 E0= -.38581908E+04  EK= 0.24730E+02 SP= 0.00E+00 SK= 0.00E+00
LOOP+:  cpu time    618.2759: real time    623.1789 81

17)
双卡跑vasp纯泛函和杂化泛函,加速情况怎么样,显存会爆吗?

看你体系和精度了,ENCUT设置太大的话容易爆显存,不爆显存的前提下GPU速度非常快

18)



说点什么...

已有0条评论

最新评论...

本文作者
2024-2-16 23:40
  • 0
    粉丝
  • 405
    阅读
  • 0
    回复
资讯幻灯片
热门评论
热门专题
排行榜
Copyright   ©2015-2023   猿代码-超算人才智造局 高性能计算|并行计算|人工智能      ( 京ICP备2021026424号-2 )