Project

General

Profile

Task #2694

Task #2675: bonded CUDA offload task

bonded CUDA kernels

Added by Szilárd Páll about 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
mdrun
Target version:
Difficulty:
uncategorized
Close

Description

WIP: https://gerrit.gromacs.org/#/c/8538/

  • Implementation stable;
  • Optimization largely done;

* TODO/nice to have: fuse kernels to avoid launch/startup overheads
(postponed)


Related issues

Related to GROMACS - Task #2818: bonded GPU kernel fusionIn Progress

History

#1 Updated by Szilárd Páll about 1 year ago

  • Private changed from Yes to No

Preliminary kernel performance results: using the ion_channel benchmark system on a Quadro P6000 (times is ms/step)

            Original    Atomic red.    VS    Atomic+PBC opt    VS    VS
            8460 PS5    8523 PS4    Orig.    8531 PS1    Orig.    8523

pdihs_gpu_noener     0.332676    0.106452    3.13    0.076050    4.37    1.40
pairs_gpu_noener     0.1053      0.099158    1.06    0.089344    1.18    1.11
angles_gpu_noener    0.104017    0.049543    2.10    0.040483    2.57    1.22
bonds_gpu_noener     0.021106    0.018495    1.14    0.016080    1.31    1.15
rbdihs_gpu_noener    0.01717     0.015552    1.10    8.53E-03    2.01    1.82
idihs_gpu_noener     0.015555    0.01404     1.11    7.53E-03    2.07    1.86
consolidate          0.202042    0    
SUM                  0.798       0.303        2.63    0.238        3.35    1.27

CPU reference performance ("Bonded F" time in ms/step):

E5 2620v4 8C (default 2.1 GHz base)    0.832
i7 5960X 3.5 GHz (fixed all-core)      0.543
i9 7820X (default)                     0.344
Threadripper 1950X (default)           0.315

Conclusion: for large systems and fast GPUs offload likely always beneficial.

TODO:
- evaluate perf with small systems on large GPUs
- large and small systems on older/smaller GPUs

#2 Updated by Szilárd Páll about 1 year ago

  • Description updated (diff)

#3 Updated by Szilárd Páll about 1 year ago

  • Status changed from New to In Progress

#4 Updated by Mark Abraham 12 months ago

  • Description updated (diff)

#5 Updated by Szilárd Páll 10 months ago

  • Related to Task #2818: bonded GPU kernel fusion added

#6 Updated by Szilárd Páll 10 months ago

  • Description updated (diff)
  • Category set to mdrun
  • Target version set to 2019

#7 Updated by Szilárd Páll 10 months ago

  • Status changed from In Progress to Resolved

#8 Updated by Paul Bauer 10 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF