Gromacs  2027.0-dev-20261009-dd255a67
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Static Public Attributes
gmx::GpuConfigurationCapabilities Struct Reference

#include <gromacs/gpu_utils/capabilities.h>

Description

Collection of GPU capabilities for this configuration.

Static Public Attributes

static constexpr bool Nonbonded = GMX_GPU
 Whether this configuration supports running NBNXM kernels on the device.
 
static constexpr bool NonbondedFE = Nonbonded && (GMX_GPU_CUDA || GMX_GPU_HIP)
 Whether this configuration supports running NB free energy kernels on the device.
 
static constexpr bool BufferOps = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running buffer operation kernels on the device.
 
static constexpr bool Pme = GMX_GPU
 Whether this configuration supports running PME kernels on the device.
 
static constexpr bool StreamQuery = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether this configuration supports querying device stream for completion of all submitted tasks.
 
static constexpr bool PmeParamLookupTable = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether this configuration supports using the param lookup table.
 
static constexpr bool PmePipelining = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports PME pipelining.
 
static constexpr bool PmeSupportsThreadsPerAtomOrder = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports PME ThreadsPerAtomOrder.
 
static constexpr bool PmeDynamicMaxGridSize = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether this configuration supports PME max gridsize setting.
 
static constexpr bool PmeSolveNeedsAtLeastFourWarps = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports PME solve kernels with less than 4 warps.
 
static constexpr bool Fft
 Whether this configuration supports running FFT kernels on the device. More...
 
static constexpr bool Bonded = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running bonded kernels on the device.
 
static constexpr bool UpdateLeapfrog = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running update with leapfrog on the device.
 
static constexpr bool UpdateSD = false
 Whether this configuration supports running update with stochastic dynamics on the device.
 
static constexpr bool Constraints = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running the constraint kernels (LINCS+SETTLE) on the device.
 
static constexpr bool ThreadMpiDirectComm = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether this configuration supports running the direct GPU communication path with thread-MPI.
 
static constexpr bool LibraryMpiDirectComm = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running the direct GPU communication path with library-MPI.
 
static constexpr bool MpiDirectComm
 Whether this configuration supports running the direct GPU communication path for the current build type. More...
 
static constexpr bool DisableEventCounting = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether we disable event counting.
 
static constexpr bool PpPmeDirectComm = MpiDirectComm
 This flag enables the direct GPU communication path for PP-PME communication.
 
static constexpr bool HaloExchangeDirectComm = MpiDirectComm
 This flag enables the direct GPU communication path for domain decomposition halo exchange.
 
static constexpr bool GpuGraph = GMX_HAVE_GPU_GRAPH_SUPPORT
 Whether this configuration supports running gpu graphs.
 
static constexpr bool PmeDecomposition
 Whether this configuration supports running gpu pme decomposition. More...
 
static constexpr bool TwoDPmeDecomposition = PmeDecomposition && GMX_GPU_CUDA
 
static constexpr bool Threefry = GMX_GPU && !GMX_GPU_OPENCL
 Whether we support running the threefry random number generator on the device.
 

Member Data Documentation

constexpr bool gmx::GpuConfigurationCapabilities::Fft
static
Initial value:
= GMX_GPU
&& (GMX_GPU_FFT_MKL || GMX_GPU_FFT_ROCFFT || GMX_GPU_FFT_BBFFT || GMX_GPU_FFT_ONEMATH
|| GMX_GPU_FFT_VKFFT || GMX_GPU_FFT_CUFFT || GMX_GPU_FFT_CLFFT)

Whether this configuration supports running FFT kernels on the device.

constexpr bool gmx::GpuConfigurationCapabilities::MpiDirectComm
static
Initial value:
=
(GMX_THREAD_MPI && ThreadMpiDirectComm) || (GMX_LIB_MPI && LibraryMpiDirectComm)

Whether this configuration supports running the direct GPU communication path for the current build type.

constexpr bool gmx::GpuConfigurationCapabilities::PmeDecomposition
static
Initial value:
= (GMX_GPU_CUDA && (GMX_USE_Heffte || GMX_USE_cuFFTMp))
|| (GMX_GPU_SYCL && GMX_USE_Heffte)
|| (GMX_GPU_HIP && GMX_USE_Heffte)

Whether this configuration supports running gpu pme decomposition.


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