请选择 进入手机版 | 继续访问电脑版
第9届北京科音分子动力学与GROMACS培训班将于4月17~20日于北京举办,请点击此链接查看培训详情,欢迎参加和相互转告!

计算化学公社

 找回密码
 现在注册!
查看: 3885|回复: 22

[Quantum ESPRESSO] 关于Quantum ESPRESSO 6.5 的GPU加速

[复制链接]

10

帖子

1

威望

1104

eV
积分
1134

Level 4 (黑子)

发表于 2020-5-27 14:42:27 | 显示全部楼层 |阅读模式
本帖最后由 MilkTeaLegend 于 2020-5-28 13:55 编辑

上次看到现在QE的GPU加速介绍效果显著。这次特意尝试


# 环境
- Centos 8  i9 9900K  RTX 2080
- PGI 19.10 编译器 cuda 10.1
- q-e-gpu-qe-gpu-6.5a2.tar.gz


要用GPU加速的话必须用PGI编译器


编译过程当然有一点波折要点是要注意PGI编译与相应cuda版本的适配。


# 测试结果
利用GPU后速度的提升是显著的
测试的简单的晶体硅的输入文件。特别调高了Ecut和Kpoints。
  1. &control
  2.     calculation = 'relax',
  3.     prefix = 'Si_exc2',
  4.     verbosity = 'high'
  5.     outdir = './Sitmp/'
  6.     pseudo_dir = ' ../qePotential/'
  7. /
  8. &system
  9.     ibrav =  2,
  10.     celldm(1) = 10.348,
  11.     nat =  2,
  12.     ntyp = 1,
  13.     ecutwfc = 200,
  14. /
  15. &electrons
  16.     mixing_beta = 0.7
  17. /
  18. &IONS
  19.         ion_dynamics= 'bfgs'
  20. /

  21. ATOMIC_SPECIES
  22. Si 28.086  Si.pbe-rrkj.UPF

  23. ATOMIC_POSITIONS (alat)
  24. Si 0.0 0.0 0.0
  25. Si 0.25 0.25 0.25

  26. K_POINTS (automatic)
  27.   24 24 24 0 0 0

复制代码
纯CPU的耗时:i9-9900K 8核 Openmpi并行

  1.      init_run     :    120.08s CPU    138.31s WALL (       1 calls)
  2.      electrons    :   1234.34s CPU   1236.01s WALL (       1 calls)
  3.      forces       :     33.85s CPU     31.33s WALL (       1 calls)

  4.      Called by init_run:
  5.      wfcinit      :    119.89s CPU    138.11s WALL (       1 calls)
  6.      wfcinit:atom :      0.11s CPU      0.08s WALL (     413 calls)
  7.      wfcinit:wfcr :    119.30s CPU    137.69s WALL (     413 calls)
  8.      potinit      :      0.03s CPU      0.04s WALL (       1 calls)
  9.      hinit0       :      0.01s CPU      0.01s WALL (       1 calls)

  10.      Called by electrons:
  11.      c_bands      :   1224.15s CPU   1225.82s WALL (       6 calls)
  12.      sum_band     :      9.98s CPU      9.95s WALL (       6 calls)
  13.      v_of_rho     :      0.17s CPU      0.18s WALL (       6 calls)
  14.      v_h          :      0.01s CPU      0.01s WALL (       6 calls)
  15.      v_xc         :      0.16s CPU      0.17s WALL (       6 calls)
  16.      mix_rho      :      0.02s CPU      0.02s WALL (       6 calls)

  17.      Called by c_bands:
  18.      init_us_2    :      1.47s CPU      1.28s WALL (    5782 calls)
  19.      cegterg      :   1089.74s CPU   1126.66s WALL (    2478 calls)

  20.      Called by sum_band:

  21.      Called by *egterg:
  22.      h_psi        :    475.77s CPU    430.73s WALL (    7653 calls)
  23.      g_psi        :      0.58s CPU      0.46s WALL (    4762 calls)
  24.      cdiaghg      :     15.91s CPU     16.89s WALL (    6827 calls)
  25.      cegterg:over :    541.66s CPU    647.80s WALL (    4762 calls)
  26.      cegterg:upda :      4.09s CPU      6.08s WALL (    4762 calls)
  27.      cegterg:last :      7.65s CPU     10.62s WALL (    2489 calls)

  28.      Called by h_psi:
  29.      h_psi:calbec :    168.44s CPU    153.30s WALL (    7653 calls)
  30.      vloc_psi     :    292.57s CPU    229.73s WALL (    7653 calls)
  31.      add_vuspsi   :     14.29s CPU     47.29s WALL (    7653 calls)

  32.      General routines
  33.      calbec       :    201.88s CPU    184.18s WALL (    9305 calls)
  34.      fft          :      0.15s CPU      0.14s WALL (      62 calls)
  35.      ffts         :      0.00s CPU      0.00s WALL (       6 calls)
  36.      fftw         :    285.14s CPU    224.69s WALL (   68524 calls)

  37.      Parallel routines

  38.      PWSCF        :  23m 8.68s CPU  23m26.22s WALL


  39.    This run was terminated on:  13:55:40  27May2020            
复制代码
GPU加速版本的耗时: CPU单进程OMP并行 RTX2080 加速
  1.      Writing output data file ./Sitmp/Si_exc2.save/

  2.      init_run     :     19.37s CPU     19.43s WALL (       1 calls)
  3.      electrons    :     22.95s CPU     27.86s WALL (       1 calls)
  4.      forces       :      0.41s CPU      0.47s WALL (       1 calls)

  5.      Called by init_run:
  6.      wfcinit      :     17.93s CPU     18.19s WALL (       1 calls)
  7.                                        18.19s GPU  (       1 calls)
  8.      wfcinit:atom :     12.71s CPU     13.54s WALL (     413 calls)
  9.                                        13.54s GPU  (     413 calls)
  10.      wfcinit:wfcr :      4.06s CPU      3.75s WALL (     413 calls)
  11.                                         3.75s GPU  (     413 calls)
  12.      potinit      :      0.70s CPU      0.49s WALL (       1 calls)
  13.      hinit0       :      0.30s CPU      0.31s WALL (       1 calls)

  14.      Called by electrons:
  15.      c_bands      :     18.69s CPU     23.42s WALL (       6 calls)
  16.      sum_band     :      2.61s CPU      3.15s WALL (       6 calls)
  17.                                         3.15s GPU  (       6 calls)
  18.      v_of_rho     :      2.14s CPU      1.54s WALL (       6 calls)
  19.      v_h          :      0.29s CPU      0.21s WALL (       6 calls)
  20.      v_xc         :      1.85s CPU      1.33s WALL (       6 calls)
  21.      mix_rho      :      0.04s CPU      0.05s WALL (       6 calls)

  22.      Called by c_bands:
  23.      init_us_2    :      0.31s CPU      0.62s WALL (    5782 calls)
  24.                                         0.60s GPU  (    5782 calls)
  25.      cegterg      :     17.78s CPU     22.13s WALL (    2478 calls)

  26.      Called by sum_band:
  27.      sum_band:wei :      0.00s CPU      0.00s WALL (       6 calls)
  28.                                         0.00s GPU  (       6 calls)
  29.      sum_band:loo :      2.52s CPU      3.06s WALL (       6 calls)
  30.                                         3.06s GPU  (       6 calls)
  31.      sum_band:buf :      0.44s CPU      0.53s WALL (    2478 calls)
  32.                                         0.22s GPU  (    2478 calls)
  33.      sum_band:ini :      0.22s CPU      0.28s WALL (    2478 calls)
  34.                                         0.27s GPU  (    2478 calls)

  35.      Called by *egterg:
  36.      cdiaghg      :      1.88s CPU      2.25s WALL (    6807 calls)
  37.                                         2.23s GPU  (    6807 calls)
  38.      cegterg:over :      0.70s CPU      0.85s WALL (    4742 calls)
  39.      cegterg:upda :      0.79s CPU      0.95s WALL (    4742 calls)
  40.      cegterg:last :      0.37s CPU      0.44s WALL (    2488 calls)
  41.      h_psi        :     15.51s CPU     18.32s WALL (    7633 calls)
  42.                                        18.25s GPU  (    7633 calls)
  43.      g_psi        :      0.01s CPU      0.10s WALL (    4742 calls)
  44.                                         0.09s GPU  (    4742 calls)

  45.      Called by h_psi:
  46.      h_psi:calbec :      0.22s CPU      0.95s WALL (    7633 calls)
  47.                                         0.93s GPU  (    7633 calls)
  48.      vloc_psi     :     13.18s CPU     15.54s WALL (    7633 calls)
  49.                                        15.46s GPU  (    7633 calls)
  50.      add_vuspsi   :      0.10s CPU      1.67s WALL (    7633 calls)
  51.                                         1.62s GPU  (    7633 calls)

  52.      General routines
  53.      calbec       :      0.25s CPU      0.30s WALL (    9285 calls)
  54.      fft          :      0.83s CPU      0.71s WALL (      62 calls)
  55.                                         0.00s GPU  (       2 calls)
  56.      ffts         :      0.02s CPU      0.02s WALL (       6 calls)
  57.      fftw         :      0.54s CPU     17.50s WALL (   17744 calls)
  58.                                        15.73s GPU  (   17744 calls)

  59.      Parallel routines

  60.      PWSCF        :     44.89s CPU     50.07s WALL


  61.    This run was terminated on:  13:28:57  27May2020            

  62. =------------------------------------------------------------------------------=
  63.    JOB DONE.
  64. =------------------------------------------------------------------------------=
复制代码
# 能量结果的对比
GPU : E=-15.7419293645 Ry   与 CPU : E = -15.7419293674

# 某二维材料的测试
输入文件
  1. &control
  2.     calculation = 'scf',
  3.     verbosity = 'high'
  4.     prefix = '2D'
  5.     outdir = './tmp/'
  6.     pseudo_dir = '/home/kan/opt/qePotential'
  7. /
  8. &system
  9.     a           =  1.64969e+01
  10.     b           =  1.64809e+01
  11.     c           =  15
  12.     cosab       = -5.00000e-01
  13.     degauss     =  1.00000e-02
  14.     ecutrho     =  250
  15.     ecutwfc     =  25
  16.     ibrav       = 12
  17.     nat         = 30
  18.     ntyp        = 2
  19.     occupations = 'smearing',
  20.     smearing = 'gauss',
  21.     degauss = 0.01
  22. /

  23. &electrons
  24.         mixing_beta = 0.7
  25.         diagonalization= 'cg'
  26. /

  27. &IONS
  28.         ion_dynamics = 'bfgs'
  29. /

  30. ATOMIC_SPECIES
  31. C      12.01070  C.pbe-rrkjus.UPF
  32. H       1.00794  H.pbe-rrkjus.UPF

  33. ATOMIC_POSITIONS {angstrom}
  34. C       3.759785   7.611155  14.310000
  35. C       3.760673   9.047720  14.311500
  36. C       2.543351   9.754656  14.318500
  37. C       2.540098  11.162104  14.319500
  38. C       4.977963   9.754085  14.308000
  39. C       4.981391  11.161391  14.309500
  40. C       1.295809  11.880316  14.324000
  41. C       3.760766  11.862617  14.315500
  42. C       6.225577  11.879459  14.306000
  43. C      -6.953221  13.788314  14.301000
  44. C      -4.488410  13.804585  14.308000
  45. C       2.531580   0.233219  14.300500
  46. C       2.534926   1.640667  14.296500
  47. C      -2.023371  13.787029  14.320000
  48. C       4.972708   0.232220  14.309500
  49. C       4.969455   1.639668  14.307000
  50. C       3.752380   2.346747  14.301000
  51. C       3.753598   3.783312  14.299500
  52. C       0.234245  12.489482  14.323000
  53. C       3.757615   6.387113  14.301500
  54. C       8.482504  13.178148  14.300000
  55. C       3.755934   5.007354  14.298500
  56. C      -0.961807  13.177863  14.321500
  57. C       7.286753  12.489625  14.300000
  58. H       1.602888   9.212001  14.325000
  59. H       5.918147   9.210859  14.304000
  60. H       3.761210  12.948498  14.315500
  61. H      -4.488936  12.718847  14.312000
  62. H       1.594577   2.183608  14.290000
  63. H       5.909835   2.182466  14.310500

  64. K_POINTS {automatic}
  65. 6 6 6 1 1 1
复制代码
系统共有30个原子。晶格参数为16 15 15 90 90 120


# 结果
CPU
  1.      init_run     :    401.09s CPU    353.32s WALL (       1 calls)
  2.      electrons    :   8844.01s CPU   7169.17s WALL (       1 calls)

  3.      Called by init_run:
  4.      wfcinit      :    388.52s CPU    340.92s WALL (       1 calls)
  5.      potinit      :      5.47s CPU      5.41s WALL (       1 calls)
  6.      hinit0       :      1.37s CPU      1.40s WALL (       1 calls)

  7.      Called by electrons:
  8.      c_bands      :   7654.70s CPU   6098.04s WALL (      10 calls)
  9.      sum_band     :   1147.25s CPU   1032.24s WALL (      10 calls)
  10.      v_of_rho     :     21.04s CPU     20.15s WALL (      11 calls)
  11.      newd         :     16.67s CPU     14.98s WALL (      11 calls)
  12.      mix_rho      :      4.30s CPU      4.16s WALL (      10 calls)

  13.      Called by c_bands:
  14.      init_us_2    :    138.32s CPU     83.76s WALL (    2268 calls)
  15.      cegterg      :   7498.05s CPU   5989.51s WALL (    1080 calls)

  16.      Called by sum_band:
  17.      sum_band:bec :      0.28s CPU      0.15s WALL (    1080 calls)
  18.      addusdens    :     21.31s CPU     17.90s WALL (      10 calls)

  19.      Called by *egterg:
  20.      h_psi        :   5827.95s CPU   5188.31s WALL (    6834 calls)
  21.      s_psi        :    513.20s CPU    260.90s WALL (    6834 calls)
  22.      g_psi        :     76.59s CPU     49.46s WALL (    5646 calls)
  23.      cdiaghg      :    124.75s CPU     77.94s WALL (    6726 calls)

  24.      Called by h_psi:
  25.      h_psi:calbec :    535.22s CPU    273.96s WALL (    6834 calls)
  26.      vloc_psi     :   4704.55s CPU   4583.96s WALL (    6834 calls)
  27.      add_vuspsi   :    530.43s CPU    279.99s WALL (    6834 calls)

  28.      General routines
  29.      calbec       :    672.30s CPU    344.31s WALL (    7914 calls)
  30.      fft          :     22.85s CPU     20.19s WALL (     140 calls)
  31.      ffts         :      0.86s CPU      0.67s WALL (      21 calls)
  32.      fftw         :   4332.56s CPU   4224.93s WALL (  430228 calls)
  33.      interpolate  :      2.67s CPU      2.11s WALL (      11 calls)

  34.      Parallel routines

  35.      PWSCF        :      2h34m CPU      2h 6m WALL


  36.    This run was terminated on:  23:57:34  26May2020            

  37. =------------------------------------------------------------------------------=
  38.    JOB DONE.
  39. =------------------------------------------------------------------------------=
复制代码
GPU
  1.      init_run     :     69.06s CPU     70.96s WALL (       1 calls)
  2.      electrons    :    869.82s CPU   1094.89s WALL (       1 calls)

  3.      Called by init_run:
  4.      wfcinit      :     57.72s CPU     62.73s WALL (       1 calls)
  5.                                        62.73s GPU  (       1 calls)
  6.      wfcinit:atom :     17.87s CPU     17.65s WALL (     108 calls)
  7.                                        17.65s GPU  (     108 calls)
  8.      wfcinit:wfcr :     25.30s CPU     32.09s WALL (     108 calls)
  9.                                        32.09s GPU  (     108 calls)
  10.      potinit      :      8.01s CPU      5.03s WALL (       1 calls)
  11.      hinit0       :      1.89s CPU      1.75s WALL (       1 calls)

  12.      Called by electrons:
  13.      c_bands      :    788.03s CPU    998.58s WALL (      10 calls)
  14.      sum_band     :     60.12s CPU     76.17s WALL (      10 calls)
  15.                                        76.17s GPU  (      10 calls)
  16.      v_of_rho     :     17.67s CPU     16.32s WALL (      11 calls)
  17.      v_h          :      3.17s CPU      3.03s WALL (      11 calls)
  18.      v_xc         :     14.51s CPU     13.29s WALL (      11 calls)
  19.      newd         :      3.26s CPU      2.97s WALL (      11 calls)
  20.                                         2.97s GPU  (      11 calls)
  21.      mix_rho      :      1.85s CPU      1.87s WALL (      10 calls)

  22.      Called by c_bands:
  23.      init_us_2    :      1.58s CPU      3.53s WALL (    2268 calls)
  24.                                         3.52s GPU  (    2268 calls)
  25.      ccgdiagg     :    621.69s CPU    786.45s WALL (    1080 calls)
  26.      wfcrot       :    171.90s CPU    222.11s WALL (    1080 calls)
  27.                                       222.10s GPU  (    1080 calls)

  28.      Called by sum_band:
  29.      sum_band:wei :      0.00s CPU      0.00s WALL (      10 calls)
  30.                                         0.00s GPU  (      10 calls)
  31.      sum_band:loo :     58.52s CPU     74.38s WALL (      10 calls)
  32.                                        74.38s GPU  (      10 calls)
  33.      sum_band:buf :      8.23s CPU      9.17s WALL (    1080 calls)
  34.                                         9.17s GPU  (    1080 calls)
  35.      sum_band:ini :      1.46s CPU      1.69s WALL (    1080 calls)
  36.                                         1.69s GPU  (    1080 calls)
  37.      sum_band:cal :      0.01s CPU     20.07s WALL (    1080 calls)
  38.                                        18.99s GPU  (    1080 calls)
  39.      sum_band:bec :      0.48s CPU      0.60s WALL (    1080 calls)
  40.                                         0.60s GPU  (    1080 calls)
  41.      addusdens    :      0.59s CPU      0.77s WALL (      10 calls)
  42.                                         0.77s GPU  (      10 calls)
  43.      addusd:skk   :      0.00s CPU      0.59s WALL (      20 calls)
  44.                                         0.04s GPU  (      20 calls)

  45.      Called by *cgdiagg:
  46.      h_psi        :    471.10s CPU    602.42s WALL (  175710 calls)
  47.                                       594.50s GPU  (  175710 calls)
  48.      s_psi        :     80.77s CPU    288.43s WALL (  350340 calls)
  49.                                       209.39s GPU  (  350340 calls)

  50.      Called by h_psi:
  51.      h_psi:calbec :      1.28s CPU    109.14s WALL (  175710 calls)
  52.                                       108.60s GPU  (  175710 calls)
  53.      vloc_psi     :    277.59s CPU    360.35s WALL (  175710 calls)
  54.                                       348.22s GPU  (  175710 calls)
  55.      add_vuspsi   :     16.65s CPU    129.33s WALL (  175710 calls)
  56.                                       128.79s GPU  (  175710 calls)
  57.      hs_1psi      :    433.05s CPU    550.15s WALL (  174630 calls)
  58.                                       542.08s GPU  (  174630 calls)
  59.      s_1psi       :    136.31s CPU    172.91s WALL (  174630 calls)
  60.                                       171.61s GPU  (  174630 calls)

  61.      General routines
  62.      calbec       :      1.95s CPU      2.56s WALL (  351420 calls)
  63.      fft          :     11.07s CPU     11.02s WALL (     140 calls)
  64.                                         0.43s GPU  (      11 calls)
  65.      ffts         :      0.25s CPU      0.25s WALL (      21 calls)
  66.      fftw         :      2.30s CPU    398.12s WALL (  362868 calls)
  67.                                       341.16s GPU  (  362868 calls)
  68.      interpolate  :      1.01s CPU      1.01s WALL (      11 calls)

  69.      Parallel routines

  70.      PWSCF        :  15m51.38s CPU  19m39.30s WALL


  71.    This run was terminated on:  13:44:33  28May2020  
复制代码



可见对于现在的PW,K点的计算。高性能的GPU加速是大有裨益的。

Pietro Bonfa_QE on Marconi100 - Best Practices, Tips & Tricks_0.pdf

1.91 MB, 下载次数: 85

参考资料

评分

参与人数 4威望 +1 eV +12 收起 理由
ChemG + 5 精品内容
ghifi37 + 2
sobereva + 1
卡开发发 + 5 精品内容

查看全部评分

743

帖子

0

威望

1600

eV
积分
2343

Level 5 (御坂)

发表于 2020-5-27 16:06:45 | 显示全部楼层
不知道大体系如何

433

帖子

2

威望

1919

eV
积分
2392

Level 5 (御坂)

发表于 2020-5-27 21:01:15 | 显示全部楼层
本帖最后由 风飞 于 2020-5-29 21:40 编辑

请问您的计算机配置是?QE6.5做计算是对CPU的要求高还是GPU的呢?请问您使用的GPU哪个型号的吗?

708

帖子

1

威望

847

eV
积分
1575

Level 5 (御坂)

喵星人

发表于 2020-5-29 21:35:46 | 显示全部楼层
能介绍一下碰到了那些坑嘛

10

帖子

0

威望

220

eV
积分
230

Level 3 能力者

发表于 2020-5-29 23:52:01 来自手机 | 显示全部楼层
请问楼主的主板是什么型号?

104

帖子

0

威望

943

eV
积分
1047

Level 4 (黑子)

发表于 2020-6-1 23:35:06 | 显示全部楼层
竟然能加速近30倍?太牛了,后面一定要折腾gpu版,说我的fortran不支持Icuda参数,有空一定要弄弄

1

帖子

0

威望

423

eV
积分
424

Level 3 能力者

发表于 2020-6-8 13:47:15 | 显示全部楼层
目前只有pw可以加速吗,其他功能是不是不可以

330

帖子

0

威望

1413

eV
积分
1743

Level 5 (御坂)

发表于 2020-6-22 20:54:59 | 显示全部楼层
最坑的其实是内存问题。家用级显存8G,专业级也才12G,算个超胞就要跪了……

104

帖子

0

威望

943

eV
积分
1047

Level 4 (黑子)

发表于 2020-6-26 13:15:33 | 显示全部楼层
请问楼主编译时,中途有没出错?除了系统是Ubuntu18.04外,我所用的软件环境和楼主一样,在bin的文件夹里产生了58个文件后,报错:PGF90-S-0084-Illegal use of symbol radial_grid_type - not public entity of module (import_upf.f90: 29)而终止,非GPU时产生了大约77个文件。
我也试过低版本的,反正都没正常完成GPU版本的编译,请教下还有啥需要注意的事项没?

10

帖子

1

威望

1104

eV
积分
1134

Level 4 (黑子)

 楼主| 发表于 2020-6-26 16:18:43 | 显示全部楼层
ghifi37 发表于 2020-6-26 13:15
请问楼主编译时,中途有没出错?除了系统是Ubuntu18.04外,我所用的软件环境和楼主一样,在bin的文件夹里产 ...

现在GPU实际起大作用的只有pw
所以make 时候不需要make all , make all 有些模块有问题 编译到一半直接退出
分别 make pw ; make pp ; make cp ... 即可

104

帖子

0

威望

943

eV
积分
1047

Level 4 (黑子)

发表于 2020-6-26 22:32:02 | 显示全部楼层
MilkTeaLegend 发表于 2020-6-26 16:18
现在GPU实际起大作用的只有pw
所以make 时候不需要make all , make all 有些模块有问题 编译到一半直接 ...

感谢告知,那实际上已经编译成功绝大部分了,测试了下,感觉比GPU的VASP还要费显存。

104

帖子

0

威望

943

eV
积分
1047

Level 4 (黑子)

发表于 2020-6-28 19:49:40 | 显示全部楼层
实际试了下,感觉有接近6倍的加速,挺不错的!就是显存是个问题
CPU with GPU
       Step     Time          Energy         fmax
LBFGS:    0 14:47:47    -2173.299157        0.6692
LBFGS:    1 14:50:10    -2173.345309        0.4611
LBFGS:    2 14:52:27    -2173.379739        0.5246
LBFGS:    3 14:54:41    -2173.387804        0.3019
LBFGS:    4 14:57:03    -2173.391530        0.0909
LBFGS:    5 14:59:33    -2173.392151        0.0847
Total consumption time: 706

Only CPU
       Step     Time          Energy         fmax
LBFGS:    0 15:40:42    -2173.299157        0.6692
LBFGS:    1 15:55:37    -2173.345309        0.4611
LBFGS:    2 16:09:31    -2173.379739        0.5246
LBFGS:    3 16:22:31    -2173.387804        0.3019
LBFGS:    4 16:35:36    -2173.391530        0.0909
LBFGS:    5 16:49:32    -2173.392151        0.0847
Total consumption time: 4130

Speed-up ration: 4130/706=5.8

104

帖子

0

威望

943

eV
积分
1047

Level 4 (黑子)

发表于 2020-7-9 12:55:56 | 显示全部楼层
试用了几次,发现要用好QE的GPU加速还是挺难的:
1、对现存要求太高,只是一个单进程单线程,测试了49个原子的体系,12G的现存不够用,zhegvdx_gpu error: cusolverDnZpotrf failed! 后直接退出;
2、不支持跨显卡分配显存,至少对CC35是这样的;
3、不支持不同架构的显卡同时混用。
最大的问题还是显存占用太厉害,相比VASP大约80个原子的一个进程只要2、3G显存,QE的GPU还是没法在稍大一点的体系中使用。
或者哪位兄台折腾看看怎么把显存占用降下来!

10

帖子

1

威望

1104

eV
积分
1134

Level 4 (黑子)

 楼主| 发表于 2020-7-9 15:43:34 | 显示全部楼层
本帖最后由 MilkTeaLegend 于 2020-7-9 15:45 编辑
ghifi37 发表于 2020-7-9 12:55
试用了几次,发现要用好QE的GPU加速还是挺难的:
1、对现存要求太高,只是一个单进程单线程,测试了49个原 ...

参考这页 使用 cg方法可以改善显存的压力。当然这不解决根本问题。
我用下来 发现 显存的耗费主要和cell大小有关。 我 用1080ti 发现 15 15 15 以下的cell是没问题的。 只用单进程也确实比CPU快。

QE 的GPU版是把计算都放到了GPU上了。 我发现CPU 确实不动。
实测 可以加载CPU版的QE的路径 进行计算的同时,加载GPU版的路径 ;进行另一个计算。 同时用满CPU和GPU完全没问题。

还是希望能有什么4张P100的同学尝试进一步进行大体系的测试。
批注 2020-07-09 153509.jpg

2

帖子

0

威望

56

eV
积分
58

Level 2 能力者

发表于 2020-7-10 13:12:00 | 显示全部楼层
你好,看到你有用GPU编译qe的性能测试文章,我非常感兴趣,我试着尝试编译,过程中有发生一些问题,所以我想请教你有关GPU编译的问题。
1.能请教你GPU完整编译过程吗? 过程中有启用哪些环境变数?
2.编译完的qe,我该如何下指令执行。
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )

GMT+8, 2021-4-15 07:36 , Processed in 0.245351 second(s), 31 queries .

快速回复 返回顶部 返回列表