Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Enumerations | Functions
clusterdistancekerneltype.h File Reference
#include "gromacs/nbnxm/atomdata.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/gmxassert.h"
#include "pairlistparams.h"
+ Include dependency graph for clusterdistancekerneltype.h:

Description

Declares the ClusterDistanceKernelType enum.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

Enumerations

enum  ClusterDistanceKernelType : int { ClusterDistanceKernelType::CpuPlainC, ClusterDistanceKernelType::CpuSimd_4xM, ClusterDistanceKernelType::CpuSimd_2xMM, ClusterDistanceKernelType::Gpu }
 The types of kernel for calculating the distance between pairs of atom clusters. More...
 

Functions

static ClusterDistanceKernelType getClusterDistanceKernelType (const PairlistType pairlistType, const nbnxn_atomdata_t &atomdata)
 Return the cluster distance kernel type given the pairlist type and atomdata.
 

Enumeration Type Documentation

enum ClusterDistanceKernelType : int
strong

The types of kernel for calculating the distance between pairs of atom clusters.

Enumerator
CpuPlainC 

Plain-C for CPU list.

CpuSimd_4xM 

SIMD for CPU list for j-cluster size matching the SIMD width.

CpuSimd_2xMM 

SIMD for CPU list for j-cluster size matching half the SIMD width.

Gpu 

For GPU list, can be either plain-C or SIMD.