Feature #2887
Feature #2816: GPU offload / optimization for update&constraits, buffer ops and multi-gpu communication
CUDA version of Leap Frog algorithm
Description
The initial implementation works independently from other parts of the code, which require a temporary infrastructure to hide CUDA-specific types from CPU compiler, manage coordinates, velocities and forces, handle periodic boundary conditions. It is enabled by setting environmental variable "GMX_INTEGRATE_GPU".
TODO:
Initial implementation as a stand-alone class.Make sure that all not supported cases exit with error.Temperature control.Pressure control.
Tests against the exact solution of constant force case.Unify tests with the CPU version.
Related issues
Associated revisions
Make use of reference data in integrator tests
Current version of tests is based on exactly solvable model,
which does not allow for testing more sophisticated cases,
including when temperature or pressure control is enabled.
This commit adds the tests that are based on the reference
data, which can be generated for any existing use-case.
Change-Id: I64bb2326b0adf44be8b48449ef09cd26939ea467
Add temperature coupling to CUDA Leap-Frog integrator
Velocity rescaling added to the integrator. None, one,
or multiple rescaling groups are supported. Tests that
include temperature coupling are added.
NoseHoover temperature control is not implemented.
Change-Id: I1e6850eeb74de829554260fba6a6e6c1c63ceb46
Add Parrinello-Rahman pressure coupling to CUDA Leap-Frog integrator
Parrinello-Rahman isotropic pressure coupling scheme is now
added to CUDA version of the Leap-Frog integrator. The
Leap-Frog tests are updated to check the new addition.
Change-Id: Icf42667621c16a994e68baf5158ea4abac387928
History
#1 Updated by Artem Zhmurov almost 2 years ago
- Related to Feature #2885: CUDA version of LINCS added
#2 Updated by Artem Zhmurov almost 2 years ago
- Related to Feature #2886: CUDA version of SETTLE added
#3 Updated by Artem Zhmurov almost 2 years ago
- Description updated (diff)
#4 Updated by Artem Zhmurov almost 2 years ago
- Related to Feature #2888: CUDA Update and Constraints module added
#5 Updated by Artem Zhmurov almost 2 years ago
- Description updated (diff)
#6 Updated by Artem Zhmurov over 1 year ago
- Description updated (diff)
#7 Updated by Artem Zhmurov over 1 year ago
- Description updated (diff)
#8 Updated by Artem Zhmurov about 1 year ago
- Status changed from New to Closed
CUDA version of Leap-Frog integrator with basic tests
Part of the GPU-only loop. Curent version is as a stand-alone module,
with its own coordinate, velocities and forces data management.
To activate, set environment variable GMX_INTEGRATE_GPU.
Limitations:
-- Only basic Leap-Frog is implemented.
-- No temperature control.
-- No pressure control.
Refs #2816, #2887
Change-Id: I439d7f5fd4f69a17ca7aaa412e242ce5e3aa5dbd