Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions | Variables
pairlist_simd_4xm.h File Reference

Description

Declares inline-friendly code for making 4xN pairlists.

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

Functions

static void icell_set_x_simd_4xn (int ci, real shx, real shy, real shz, int gmx_unused stride, const real *x, NbnxnPairlistCpuWork *work)
 Copies PBC shifted i-cell packed atom coordinates to working array.
 
static void makeClusterListSimd4xn (const Grid &jGrid, NbnxnPairlistCpu *nbl, int icluster, int firstCell, int lastCell, bool excludeSubDiagonal, const real *gmx_restrict x_j, real rlist2, float rbb2, int *gmx_restrict numDistanceChecks)
 SIMD code for checking and adding cluster-pairs to the list using coordinates in packed format. More...
 

Variables

static constexpr int c_xStride4xN
 Stride of the packed x coordinate array. More...
 

Function Documentation

static void makeClusterListSimd4xn ( const Grid jGrid,
NbnxnPairlistCpu nbl,
int  icluster,
int  firstCell,
int  lastCell,
bool  excludeSubDiagonal,
const real *gmx_restrict  x_j,
real  rlist2,
float  rbb2,
int *gmx_restrict  numDistanceChecks 
)
inlinestatic

SIMD code for checking and adding cluster-pairs to the list using coordinates in packed format.

Checks bounding box distances and possibly atom pair distances. This is an accelerated version of make_cluster_list_simple.

Parameters
[in]jGridThe j-grid
[in,out]nblThe pair-list to store the cluster pairs in
[in]iclusterThe index of the i-cluster
[in]firstCellThe first cluster in the j-range, using i-cluster size indexing
[in]lastCellThe last cluster in the j-range, using i-cluster size indexing
[in]excludeSubDiagonalExclude atom pairs with i-index > j-index
[in]x_jCoordinates for the j-atom, in SIMD packed format
[in]rlist2The squared list cut-off
[in]rbb2The squared cut-off for putting cluster-pairs in the list based on bounding box distance only
[in,out]numDistanceChecksThe number of distance checks performed

Variable Documentation

constexpr int c_xStride4xN
static
Initial value:
=
#define GMX_SIMD_REAL_WIDTH
Width of SimdReal.
Definition: simd.h:196
static constexpr int c_nbnxnCpuIClusterSize
The i-cluster size for CPU kernels, always 4 atoms.
Definition: pairlistparams.h:59

Stride of the packed x coordinate array.