Gromacs  2026.0-dev-20241121-c76fa1e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros
pme_gpu_types.h File Reference
#include "gromacs/gpu_utils/devicebuffer.h"
+ Include dependency graph for pme_gpu_types.h:
+ This graph shows which files directly or indirectly include this file:

Description

Defines the PME GPU data structures (the GPU function parameters used both on host and device sides).

Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Classes

struct  PmeGpuConstParams
 A GPU data structure for storing the constant PME data. This only has to be initialized once. More...
 
struct  PmeGpuGridParams
 A GPU data structure for storing the PME data related to the grid sizes and cut-off. This only has to be updated at every DD step. More...
 
struct  PmeGpuAtomParams
 A GPU data structure for storing the PME data of the atoms, local to this process' domain partition. This only has to be updated every DD step. More...
 
struct  PmeGpuDynamicParams
 A GPU data structure for storing the PME data which might change for each new PME computation. More...
 
struct  PmeGpuKernelParamsBase
 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. More...
 

Macros

#define HIDE_FROM_OPENCL_COMPILER(x)   x
 A workaround to hide DeviceBuffer template from OpenCL kernel compilation. More...
 
#define NUMFEPSTATES   2
 Number of FEP states.
 

Macro Definition Documentation

#define HIDE_FROM_OPENCL_COMPILER (   x)    x

A workaround to hide DeviceBuffer template from OpenCL kernel compilation.

  • to turn it into a dummy of the same size as host implementation of device buffer. As we only care about 64-bit, 8 bytes is fine. TODO: what we should be doing is providing separate device-side views of the same structures - then there would be no need for macro.