Task #2675
bonded CUDA offload task
Description
Top-level task, a summary of the sub-tasks required to deliver the bonded GPU offload in CUDA for the 2019 release.
The plan is to take the NVIDIA code and attempt integrating it into the 2019 release with the goal of: running it next to the PP task using the same coordinates (and possibly force output buffer) and minimizing new CUDA code needed. The initial implementation will only support bonded offload if all listed interactions can be offloaded (offloading a subset should be straightforward extension, same goes for excluding perturbed bondeds).
Coarse list (individual subtasks linked):filler-particle extension to the DD modulebonded task conversion based on NB indexing (allows reuse of nbnxn coordinates +/- force buffer for bondeds)- initial bonded CUDA code cleanup (https://gerrit.gromacs.org/#/c/8460)
- bonded task scheduling and reduction scheduling code
- command line interface and task assignment
Subtasks
Related issues
Associated revisions
History
#1 Updated by Gerrit Code Review Bot about 1 year ago
Gerrit received a related patchset '10' for Issue #2675.
Uploader: Szilárd Páll (pall.szilard@gmail.com)
Change-Id: gromacs~master~Ia19452df74407186aaff350d8df27dfc3d7d359f
Gerrit URL: https://gerrit.gromacs.org/8538
#2 Updated by Szilárd Páll about 1 year ago
- Description updated (diff)
#3 Updated by Mark Abraham about 1 year ago
- Status changed from New to In Progress
#4 Updated by Gerrit Code Review Bot about 1 year ago
Gerrit received a related patchset '1' for Issue #2675.
Uploader: Berk Hess (hess@kth.se)
Change-Id: gromacs~release-2019~Ifc6d97854cc7afa8526602942ec3b1712ba45bac
Gerrit URL: https://gerrit.gromacs.org/8597
#5 Updated by Szilárd Páll 12 months ago
This task is now blocked by subtasks targeted to 2020 so we either need to retarget this or preferably move out those subtasks.
#6 Updated by Paul Bauer 11 months ago
- Target version changed from 2019 to 2020
#7 Updated by Szilárd Páll 9 months ago
- Related to Task #2818: bonded GPU kernel fusion added
#8 Updated by Szilárd Páll 7 months ago
- Related to Task #2936: introduce check that CPU-GPU transfers are made between arrays of compatible types added
Add CUDA bonded kernels
CUDA bonded kernels are added for the most common bonded and LJ-14
interactions.
The default auto settings of mdrun offloads these interactions
to the GPU when possible.
Currently these interactions are computed in the local or non-local
nbnxn non-bonded streams. We should consider using a separate stream.
This change uses synchronous transfers. A child change will change
these to asynchronous.
Updated release notes and performance guide.
Fixes #2678
Refs #2675
Change-Id: Ifc6d97854cc7afa8526602942ec3b1712ba45bac