Project

General

Profile

Task #3323

Feature #3311: GPU infrastructure development

Rework the StatePropagatorDataGpu

Added by Artem Zhmurov 8 months ago. Updated 8 months ago.

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

Description

The StatePropagatorDataGpu currently is one way or another responsible for:
1. Low-level data management.
2. Stream/context management.
3. Locality management.
4. Managing the copy events.

Proposed development is to introduce the "ManagedDeviceBuffer" object that will take these responsibilities away from the StatePropagatorDataGpu, making it into a collection of the respective buffers. The "ManagedDeviceBuffer" can also replace the StatePropagatorDataGpu in places, where only one buffer is needed, e.g. in PME-only ranks and tests.

Code (order is important):
  1. https://gerrit.gromacs.org/#/c/gromacs/+/14599/ - Introduce a managed GPU buffer.
  2. https://gerrit.gromacs.org/#/c/gromacs/+/14600/ - Make use of ManagedDeviceBuffer in StatePropagatorDataGpu.
  3. https://gerrit.gromacs.org/#/c/gromacs/+/15417/ - Move wcycle management from state propagator data to managed device buffer.
  4. https://gerrit.gromacs.org/#/c/gromacs/+/14637/ - Use the methods of ManagedDeviceBuffer directly.
  5. https://gerrit.gromacs.org/#/c/gromacs/+/14646/ - Create a constructor for the ManagedDeviceBuffer that takes only one stream.
  6. https://gerrit.gromacs.org/#/c/gromacs/+/14644/ - Use ManagedDeviceBuffer instead of StatePropagatorDataGpu in PME-only ranks and tests.

History

#1 Updated by Artem Zhmurov 8 months ago

  • Target version set to 2021

#2 Updated by Artem Zhmurov 8 months ago

  • Target version changed from 2021 to 2021-refactoring

Also available in: Atom PDF