Gromacs
2026.0-dev-20241204-d69d709
|
#include <gromacs/ewald/pme_gpu_types.h>
A single structure encompassing all the PME data used in GPU kernels on device. To extend the list with platform-specific parameters, this can be inherited by the GPU framework-specific structure.
Public Attributes | |
struct PmeGpuConstParams | constants |
Constant data that is set once. | |
struct PmeGpuGridParams | grid |
Data dependent on the grid size/cutoff. | |
struct PmeGpuAtomParams | atoms |
Data dependent on the DD and local atoms. | |
struct PmeGpuDynamicParams | current |
Data that possibly changes for every new PME computation. This should be kept up-to-date by calling pme_gpu_prepare_computation(...) before launching spreading. | |
char | usePipeline |
Whether pipelining with PP communications is active char rather than bool to avoid problem with OpenCL compiler. | |
int | pipelineAtomStart |
Start atom for this stage of pipeline. | |
int | pipelineAtomEnd |
End atom for this stage of pipeline. | |
int | ppRanksInfoSize |
PpRanksSendFInfo struct total size. | |
DeviceBuffer< PpRanksSendFInfo > | ppRanksInfo |
PpRanksSendFInfo struct containing each PP rank forces buffer offsets. | |
DeviceBuffer< unsigned int > | lastProcessedBlockPerPpRank |
atomic counter used for tracking last processed block in pme gather kernel for each PP rank | |
DeviceBuffer< uint64_t > | forcesReadyNvshmemFlags |
sync object used for NVSHMEM pme-pp force comm | |
uint64_t | forcesReadyNvshmemFlagsCounter |
sync object counter used for nvshmem pme-pp force comm | |
int | isVirialStep |
whether this is virial step | |
int | useNvshmem |
whether to use NVSHMEM for GPU comm | |
DeviceTexture | fractShiftsTableTexture |
Texture object for accessing grid.d_fractShiftsTable. | |
DeviceTexture | gridlineIndicesTableTexture |
Texture object for accessing grid.d_gridlineIndicesTable. | |