|
Gromacs
2026.0-dev-20251119-5f0a571d
|
#include <gromacs/ewald/pme_gpu_types.h>
Collaboration diagram for PmeGpuKernelParams: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. | |
1.8.5