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

#include <gromacs/ewald/pme_gpu_settings.h>

Description

The PME GPU settings structure, included in the main PME GPU structure by value.

Public Attributes

bool performGPUSolve
 A boolean which tells if the solving is performed on GPU. Currently always true.
 
bool performGPUGather
 A boolean which tells if the gathering is performed on GPU. Currently always true.
 
bool performGPUFFT
 A boolean which tells if the FFT is performed on GPU. Currently true for a single MPI rank.
 
bool useDecomposition
 A convenience boolean which tells if PME decomposition is used.
 
bool useGpuForceReduction
 True if PME forces are reduced on-GPU, false if reduction is done on the CPU; in the former case transfer does not need to happen. More...
 
bool copyAllOutputs
 A boolean which tells if any PME GPU stage should copy all of its outputs to the host. Only intended to be used by the test framework.
 
GpuApiCallBehavior transferKind
 An enum which tells whether most PME GPU D2H/H2D data transfers should be synchronous.
 
ThreadsPerAtom threadsPerAtom
 Controls whether we use order (i.e. 4) threads per atom for the GPU or order*order (i.e. 16) threads per atom. More...
 
bool recalculateSplines
 Currently only supported by CUDA. Controls if we should recalculate the splines in the gather or save the values in the spread and reload in the gather.
 

Member Data Documentation

ThreadsPerAtom PmeGpuSettings::threadsPerAtom

Controls whether we use order (i.e. 4) threads per atom for the GPU or order*order (i.e. 16) threads per atom.

Currently ThreadsPerAtom::Order is only supported by CUDA.

bool PmeGpuSettings::useGpuForceReduction

True if PME forces are reduced on-GPU, false if reduction is done on the CPU; in the former case transfer does not need to happen.

Note that this flag may change per-step.


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