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

#include <gromacs/ewald/pme_gpu_types_host_impl.h>

+ Collaboration diagram for PmeGpuSpecific:

Description

The main PME CUDA/OpenCL-specific host data structure, included in the PME GPU structure by the archSpecific pointer.

Public Attributes

CommandStream pmeStream
 The GPU stream where everything related to the PME happens.
 
DeviceContext context
 A handle to the GPU context. TODO: this is currently extracted from the implementation of pmeGpu->programHandle_, but should be a constructor parameter to PmeGpu, as well as PmeGpuProgram, managed by high-level code.
 
GpuEventSynchronizer pmeForcesReady
 Triggered after the PME Force Calculations have been completed.
 
GpuEventSynchronizer syncSpreadGridD2H
 Triggered after the grid has been copied to the host (after the spreading stage).
 
bool performOutOfPlaceFFT
 A boolean which tells whether the complex and real grids for cu/clFFT are different or same. Currenty true.
 
bool useTiming
 A boolean which tells if the GPU timing events are enabled. False by default, can be enabled by setting the environment variable GMX_ENABLE_GPU_TIMING. Note: will not be reliable when multiple GPU tasks are running concurrently on the same device context, as CUDA events on multiple streams are untrustworthy.
 
std::vector< std::unique_ptr
< GpuParallel3dFft > > 
fftSetup
 Vector of FFT setups.
 
std::array< GpuRegionTimer,
gtPME_EVENT_COUNT > 
timingEvents
 All the timers one might use.
 
std::set< size_t > activeTimers
 Indices of timingEvents actually used.
 
int coordinatesSize
 The kernelParams.atoms.coordinates float element count (actual)
 
int coordinatesSizeAlloc
 The kernelParams.atoms.coordinates float element count (reserved)
 
int forcesSize
 The kernelParams.atoms.forces float element count (actual)
 
int forcesSizeAlloc
 The kernelParams.atoms.forces float element count (reserved)
 
int gridlineIndicesSize
 The kernelParams.atoms.gridlineIndices int element count (actual)
 
int gridlineIndicesSizeAlloc
 The kernelParams.atoms.gridlineIndices int element count (reserved)
 
int splineDataSize
 Both the kernelParams.atoms.theta and kernelParams.atoms.dtheta float element count (actual)
 
int splineDataSizeAlloc
 Both the kernelParams.atoms.theta and kernelParams.atoms.dtheta float element count (reserved)
 
int coefficientsSize
 The kernelParams.atoms.coefficients float element count (actual)
 
int coefficientsSizeAlloc
 The kernelParams.atoms.coefficients float element count (reserved)
 
int splineValuesSize
 The kernelParams.grid.splineValuesArray float element count (actual)
 
int splineValuesSizeAlloc
 The kernelParams.grid.splineValuesArray float element count (reserved)
 
int realGridSize
 The kernelParams.grid.realGrid float element count (actual)
 
int realGridSizeAlloc
 The kernelParams.grid.realGrid float element count (reserved)
 
int complexGridSize
 The kernelParams.grid.fourierGrid float (not float2!) element count (actual)
 
int complexGridSizeAlloc
 The kernelParams.grid.fourierGrid float (not float2!) element count (reserved)
 

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