Gromacs
2026.0-dev-20250418-2a07af2
|
#include "pairlist_simd_kernel.h"
#include "config.h"
#include <algorithm>
#include <array>
#include <memory>
#include <type_traits>
#include "gromacs/math/functions.h"
#include "gromacs/math/vec.h"
#include "gromacs/nbnxm/boundingbox.h"
#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/vector_operations.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/gmxassert.h"
#include "boundingboxdistance.h"
#include "clusterdistancekerneltype.h"
#include "grid.h"
#include "nbnxm_simd.h"
#include "pairlist_imask.h"
#include "pairlistwork.h"
Defines the SIMD cluster pair distance kernel and helpers.
Functions | |
template<ClusterDistanceKernelType kernelType> | |
static gmx_unused constexpr int | gmx::sc_iClusterSizeSimd () |
template<ClusterDistanceKernelType kernelType> | |
static gmx_unused constexpr int | gmx::sc_jClusterSizeSimd () |
template<ClusterDistanceKernelType kernelType> | |
static gmx_unused constexpr int | gmx::sc_xStride () |
Stride of the packed x coordinate array. | |
template<ClusterDistanceKernelType kernelType> | |
static gmx_unused int | gmx::xIndexFromCi (int ci) |
Returns the nbnxn coordinate data index given the i-cluster index. | |
template<ClusterDistanceKernelType kernelType> | |
static gmx_unused int | gmx::xIndexFromCj (int cj) |
Returns the nbnxn coordinate data index given the j-cluster index. | |
template<ClusterDistanceKernelType kernelType, int jSubClusterIndex> | |
static gmx_unused int | gmx::cjFromCi (int ci) |
Returns the j-cluster index given the i-cluster index. More... | |
void | gmx::setICellCoordinatesSimd4xM (int gmx_unused ci, const RVec gmx_unused &shift, int gmx_unused stride, const real gmx_unused *x, NbnxmPairlistCpuWork gmx_unused *work) |
void | gmx::setICellCoordinatesSimd2xMM (int gmx_unused ci, const RVec gmx_unused &shift, int gmx_unused stride, const real gmx_unused *x, NbnxmPairlistCpuWork gmx_unused *work) |
void | gmx::makeClusterListSimd4xM (const Grid gmx_unused &jGrid, NbnxnPairlistCpu gmx_unused *nbl, int gmx_unused icluster, int gmx_unused firstCell, int gmx_unused lastCell, bool gmx_unused excludeSubDiagonal, const real gmx_unused *gmx_restrict x_j, real gmx_unused rlist2, float gmx_unused rbb2, int gmx_unused *gmx_restrict numDistanceChecks) |
void | gmx::makeClusterListSimd2xMM (const Grid gmx_unused &jGrid, NbnxnPairlistCpu gmx_unused *nbl, int gmx_unused icluster, int gmx_unused firstCell, int gmx_unused lastCell, bool gmx_unused excludeSubDiagonal, const real gmx_unused *gmx_restrict x_j, real gmx_unused rlist2, float gmx_unused rbb2, int gmx_unused *gmx_restrict numDistanceChecks) |