Gromacs  2025.0-dev-20241009-5c23d5f
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions
nbnxm_sycl_kernel_pruneonly.cpp File Reference
#include "gmxpre.h"
#include "nbnxm_sycl_kernel_pruneonly.h"
#include "gromacs/gpu_utils/devicebuffer.h"
#include "gromacs/gpu_utils/gmxsycl.h"
#include "gromacs/utility/template_mp.h"
#include "nbnxm_sycl_kernel_utils.h"
#include "nbnxm_sycl_types.h"
+ Include dependency graph for nbnxm_sycl_kernel_pruneonly.cpp:

Description

NBNXM SYCL kernels.

Classes

class  gmx::NbnxmKernelPruneOnly< haveFreshList, PairlistType >
 Class name for NBNXM prune-only kernel. More...
 

Typedefs

using mode = sycl::access_mode
 

Functions

template<bool haveFreshList, PairlistType layoutType>
auto gmx::nbnxmKernelPruneOnly (sycl::handler &cgh, const int numSci, const int numParts, const Float4 *__restrict__ gm_xq, const Float3 *__restrict__ gm_shiftVec, nbnxn_cj_packed_t *__restrict__ gm_plistCJPacked, const nbnxn_sci_t *__restrict__ gm_plistSci, unsigned int *__restrict__ gm_plistIMask, int *__restrict__ gm_rollingPruningPart, int *__restrict__ gm_sciHistogram, int *__restrict__ gm_sciCount, const float rlistOuterSq, const float rlistInnerSq)
 Prune-only kernel for NBNXM. More...
 
template<bool haveFreshList, PairlistType layoutType, class... Args>
void gmx::launchNbnxmKernelPruneOnly (const DeviceStream &deviceStream, const int numSciInPartMax, Args &&...args)
 Leap Frog SYCL prune-only kernel launch code.
 
template<PairlistType layoutType, class... Args>
void gmx::chooseAndLaunchNbnxmKernelPruneOnly (bool haveFreshList, Args &&...args)
 Select templated kernel and launch it.
 
void gmx::launchNbnxmKernelPruneOnly (NbnxmGpu *nb, const InteractionLocality iloc, const int numParts, const int numSciInPartMax)
 Launch SYCL NBNXM prune-only kernel. More...