Gromacs  2026.0-dev-20250318-75a6c20
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
state_propagator_data_gpu.h File Reference
#include <memory>
#include <tuple>
#include "gromacs/gpu_utils/devicebuffer_datatype.h"
#include "gromacs/gpu_utils/gpu_utils.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/simulation_workload.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/classhelpers.h"
#include "locality.h"
+ Include dependency graph for state_propagator_data_gpu.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declaration of interfaces for GPU state data propagator object.

This object stores and manages positions, velocities and forces for all particles in the system on the GPU.

For NVSHMEM path it handles the symmetric allocation for coordinates and signal buffers involved in PP GPU Halo Exchange. It also serves as a symmetric allocation point for PME rank for the d_recvBuf involved in the PP GPU Halo Exchange for the sake of keeping symmetric allocation happy.

Todo:

Add cycle counters.

Add synchronization points.

Author
Artem Zhmurov zhmur.nosp@m.ov@g.nosp@m.mail..nosp@m.com

Functions

bool gmx::needStateGpu (SimulationWorkload simulationWorkload)
 If StatePropagatorDataGpu object is needed. More...