Gromacs  2025-dev-20241003-bd59e46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Variables
gpu_types_common.h File Reference
#include "config.h"
#include "gromacs/gpu_utils/hostallocator.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/locality.h"
#include "gromacs/nbnxm/nbnxm_enums.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "nbnxm.h"
#include "pairlist.h"
+ Include dependency graph for gpu_types_common.h:
+ This graph shows which files directly or indirectly include this file:

Description

Implements common internal types for different NBNXN GPU implementations.

Author
Szilárd Páll pall..nosp@m.szil.nosp@m.ard@g.nosp@m.mail.nosp@m..com

Classes

struct  gmx::NBStagingData
 Staging area for temporary data downloaded from the GPU. More...
 
struct  gmx::NBAtomDataGpu
 Nonbonded atom data - both inputs and outputs. More...
 
struct  gmx::NBParamGpu
 Parameters required for the GPU nonbonded calculations. More...
 
struct  gmx::GpuTimers
 GPU region timers used for timing GPU kernels and H2D/D2H transfers. More...
 
struct  gmx::GpuTimers::XFTransfers
 Timers for local or non-local coordinate/force transfers. More...
 
struct  gmx::GpuTimers::Interaction
 Timers for local or non-local interaction related operations. More...
 
class  gmx::GpuPairlistSorting
 Sorted pair list on GPU and data required for performing the sorting. More...
 
class  gmx::GpuPairlist
 GPU pair list structure. More...
 
struct  gmx::EnergyFunctionProperties< elecType, vdwType >
 Set of boolean constants mimicking preprocessor macros. More...
 

Macros

#define GMX_NBNXN_PRUNE_KERNEL_JPACKED_CONCURRENCY   4
 Macro definining default for the prune kernel's jPacked processing concurrency. More...
 

Variables

static constexpr int gmx::c_sciHistogramSize = 8192
 Number of separate bins used during sorting of plist on gpu. More...
 
static constexpr int gmx::c_sciSortingThreadsPerBlock = 256
 Number of threads per block used by the gpu sorting kernel. More...
 
static constexpr int gmx::c_pruneKernelJPackedConcurrency = 4
 Default for the prune kernel's jPacked processing concurrency.
 
template<enum VdwType vdwType>
constexpr bool gmx::ljComb = EnergyFunctionProperties<ElecType::Count, vdwType>().vdwComb
 Templated constants to shorten kernel function declaration.
 
template<enum ElecType elecType>
constexpr bool gmx::elecEwald = EnergyFunctionProperties<elecType, VdwType::Count>().elecEwald
 
template<enum ElecType elecType>
constexpr bool gmx::elecEwaldTab = EnergyFunctionProperties<elecType, VdwType::Count>().elecEwaldTab
 
template<enum VdwType vdwType>
constexpr bool gmx::ljEwald = EnergyFunctionProperties<ElecType::Count, vdwType>().vdwEwald
 

Macro Definition Documentation

#define GMX_NBNXN_PRUNE_KERNEL_JPACKED_CONCURRENCY   4

Macro definining default for the prune kernel's jPacked processing concurrency.

The GMX_NBNXN_PRUNE_KERNEL_JPACKED_CONCURRENCY macro allows compile-time override with the default value of 4.