Project

General

Profile

Feature #2887

Feature #2816: Device-side update&constraits, buffer ops and multi-gpu comms

CUDA version of Leap Frog algorithm

Added by Artem Zhmurov 5 months ago. Updated 10 days ago.

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

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:
  • Tests against the exact solution of constant force case.
  • Unify tests with the CPU version.

Current version: https://gerrit.gromacs.org/#/c/9272/


Related issues

Related to GROMACS - Feature #2885: CUDA version of LINCSNew
Related to GROMACS - Feature #2886: CUDA version of SETTLENew
Related to GROMACS - Feature #2888: CUDA Update and Constraints moduleNew

Associated revisions

Revision d061dec5 (diff)
Added by Artem Zhmurov 3 months ago

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

Revision a80b9cef (diff)
Added by Artem Zhmurov 5 days ago

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.

Refs. #2816, #2887.

Change-Id: I64bb2326b0adf44be8b48449ef09cd26939ea467

History

#1 Updated by Artem Zhmurov 5 months ago

#2 Updated by Artem Zhmurov 5 months ago

#3 Updated by Artem Zhmurov 5 months ago

  • Description updated (diff)

#4 Updated by Artem Zhmurov 5 months ago

  • Related to Feature #2888: CUDA Update and Constraints module added

#5 Updated by Artem Zhmurov 5 months ago

  • Description updated (diff)

#6 Updated by Artem Zhmurov 10 days ago

  • Description updated (diff)

Also available in: Atom PDF