Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
PmeGpuGridParams Struct Reference

#include <gromacs/ewald/pme_gpu_types.h>

Description

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.

Public Attributes

float ewaldFactor
 Ewald solving factor = (M_PI / pme->ewaldcoeff_q)^2.
 
int realGridSize [DIM]
 Real-space grid data dimensions.
 
float realGridSizeFP [DIM]
 Real-space grid dimensions, only converted to floating point.
 
int realGridSizePadded [DIM]
 Real-space grid dimensions (padded). The padding as compared to realGridSize includes the (order - 1) overlap.
 
int complexGridSize [DIM]
 Fourier grid dimensions. This counts the complex numbers!
 
int complexGridSizePadded [DIM]
 Fourier grid dimensions (padded). This counts the complex numbers!
 
int localComplexGridSize [DIM]
 Local Fourier grid dimensions. This counts the complex numbers!
 
int localComplexGridSizePadded [DIM]
 Local Fourier grid dimensions (padded). This counts the complex numbers!
 
int splineValuesOffset [DIM]
 Offsets for X/Y/Z components of d_splineModuli.
 
int tablesOffsets [DIM]
 Offsets for X/Y/Z components of d_fractShiftsTable and d_gridlineIndicesTable.
 
int kOffsets [DIM]
 Offsets for the complex grid in pme_solve.
 
DeviceBuffer< float > d_realGrid [2]
 Real space PME grid.
 
DeviceBuffer< float > d_fftComplexGrid [2]
 Complex grid - used in FFT/solve. If inplace cu/clFFT is used, then it is the same handle as fftRealGrid.
 
DeviceBuffer< float > d_splineModuli [2]
 Grid spline values as in pme->bsp_mod (laid out sequentially (XXX....XYYY......YZZZ.....Z))
 
DeviceBuffer< float > d_fractShiftsTable
 Fractional shifts lookup table as in pme->fshx/fshy/fshz, laid out sequentially (XXX....XYYY......YZZZ.....Z)
 
DeviceBuffer< int > d_gridlineIndicesTable
 Gridline indices lookup table (modulo lookup table as in pme->nnx/nny/nnz, laid out sequentially (XXX....XYYY......YZZZ.....Z))
 

The documentation for this struct was generated from the following file: