Gromacs
2025-dev-20240913-b871546
|
#include <gromacs/ewald/pme_gpu_settings.h>
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. | |
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.