Gromacs  2026.0-dev-20251105-11eb1db
 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 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 Update = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running update+LINCS+SETTLE kernels on the device.
 
static constexpr bool ThreadMpiCommunication = GMX_GPU_CUDA || GMX_GPU_HIP
 Whether this configuration supports running the direct GPU communication path with thread-MPI.
 
static constexpr bool LibraryMpiCommunication = GMX_GPU && !GMX_GPU_OPENCL
 Whether this configuration supports running the direct GPU communication path with library-MPI.
 
static constexpr bool MpiCommunication
 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 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
 

Member Data Documentation

constexpr bool gmx::GpuConfigurationCapabilities::Fft
static
Initial value:
= GMX_GPU
&& (GMX_GPU_FFT_MKL || GMX_GPU_FFT_ROCFFT || GMX_GPU_FFT_HIPFFT
|| 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::MpiCommunication
static
Initial value:
=
(GMX_THREAD_MPI && ThreadMpiCommunication) || (GMX_LIB_MPI && LibraryMpiCommunication)

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: