|
Gromacs
2025.3
|
#include <memory>#include "gromacs/gpu_utils/gpu_macros.h"#include "gromacs/mdtypes/locality.h"#include "nbnxm.h"
Include dependency graph for gpu_data_mgmt.h:
This graph shows which files directly or indirectly include this file:Declare interface for GPU data transfer for NBNXN module.
Functions | |
| NbnxmGpu * | gmx::gpu_init (const DeviceStreamManager gmx_unused &deviceStreamManager, const interaction_const_t gmx_unused *ic, const PairlistParams gmx_unused &listParams, const nbnxn_atomdata_t gmx_unused *nbat, bool gmx_unused bLocalAndNonlocal) |
| Initializes the data structures related to GPU nonbonded calculations. More... | |
| void | gmx::gpu_init_pairlist (NbnxmGpu gmx_unused *nb, const struct NbnxnPairlistGpu gmx_unused *h_nblist, InteractionLocality gmx_unused iloc) |
| Initializes pair-list data for GPU, called at every pair search step. More... | |
| void | gmx::gpu_init_atomdata (NbnxmGpu gmx_unused *nb, const nbnxn_atomdata_t gmx_unused *nbat) |
| Initializes atom-data on the GPU, called at every pair search step. More... | |
| void | gmx::gpu_pme_loadbal_update_param (struct nonbonded_verlet_t gmx_unused *nbv, const interaction_const_t gmx_unused &ic) |
| Re-generate the GPU Ewald force table, resets rlist, and update the electrostatic type switching to twin cut-off (or back) if needed. | |
| void | gmx::gpu_upload_shiftvec (NbnxmGpu gmx_unused *nb, const nbnxn_atomdata_t gmx_unused *nbatom) |
| Uploads shift vector to the GPU if the box is dynamic (otherwise just returns). More... | |
| void | gmx::gpu_clear_outputs (NbnxmGpu gmx_unused *nb, bool gmx_unused computeVirial) |
| Clears GPU outputs: nonbonded force, shift force and energy. More... | |
| void | gmx::gpu_free (NbnxmGpu gmx_unused *nb) |
| Frees all GPU resources used for the nonbonded calculations. More... | |
| struct gmx_wallclock_gpu_nbnxn_t * | gmx::gpu_get_timings (NbnxmGpu gmx_unused *nb) |
| Returns the GPU timings structure or NULL if GPU is not used or timing is off. More... | |
| void | gmx::gpu_reset_timings (struct nonbonded_verlet_t gmx_unused *nbv) |
| Resets nonbonded GPU timings. More... | |
| int | gmx::gpu_min_ci_balanced (NbnxmGpu gmx_unused *nb) |
| Calculates the minimum size of proximity lists to improve SM load balance with GPU non-bonded kernels. More... | |
| bool | gmx::gpu_is_kernel_ewald_analytical (const NbnxmGpu gmx_unused *nb) |
| Returns if analytical Ewald GPU kernels are used. More... | |
| NBAtomDataGpu * | gmx::gpuGetNBAtomData (NbnxmGpu gmx_unused *nb) |
| Returns an opaque pointer to the GPU NBNXM atom data. | |
| DeviceBuffer< RVec > | gmx::gpu_get_f (NbnxmGpu gmx_unused *nb) |
| Returns forces device buffer. | |
| size_t | gmx::getExclusiveScanWorkingArraySize (GpuPairlist *plist, const DeviceStream &deviceStream) |
| Calculates working memory required for exclusive sum, used in neighbour list sorting on GPU. More... | |
| void | gmx::performExclusiveScan (size_t temporaryBufferSize, char *temporaryBuffer, GpuPairlist *plist, const DeviceStream &deviceStream) |
| Perform exclusive scan to obtain input for sci sorting. | |
1.8.5