Gromacs  2026.0-dev-20241204-d69d709
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
nbnxm_sycl.cpp File Reference
#include "gmxpre.h"
#include "gromacs/math/functions.h"
#include "gromacs/nbnxm/gpu_common.h"
#include "gromacs/utility/exceptions.h"
#include "nbnxm_sycl_kernel.h"
#include "nbnxm_sycl_kernel_pruneonly.h"
#include "nbnxm_sycl_types.h"
+ Include dependency graph for nbnxm_sycl.cpp:

Description

Data management and kernel launch functions for nbnxm sycl.

Classes

class  gmx::ExclusivePrefixSum< int >
 SYCL kernel name. More...
 

Functions

static void gmx::launchSciSortOnGpu (GpuPairlist *plist, const int maxWorkGroupSize, const DeviceStream &deviceStream)
 
void gmx::gpu_launch_kernel_pruneonly (NbnxmGpu *nb, const InteractionLocality iloc, const int numParts)
 Launch the pairlist prune only kernel for the given locality. numParts tells in how many parts, i.e. calls the list will be pruned.
 
void gmx::gpu_launch_kernel (NbnxmGpu *nb, const gmx::StepWorkload &stepWork, const InteractionLocality iloc)
 Launch GPU kernel. More...
 
template<int workGroupSize, int nElements>
static auto gmx::nbnxnKernelExclusivePrefixSum (const int *__restrict__ gm_input, int *__restrict__ gm_output)
 SYCL exclusive prefix sum kernel for list sorting. More...
 
static auto gmx::nbnxnKernelBucketSciSort (const nbnxn_sci_t *__restrict__ gm_sci, const int *__restrict__ gm_sciCount, int *__restrict__ gm_sciOffset, nbnxn_sci_t *__restrict__ gm_sciSorted)
 SYCL bucket sci sort kernel. More...
 
template<int workGroupSize>
static void gmx::launchPrefixSumKernel (sycl::queue &q, GpuPairlistSorting *sorting)
 
static void gmx::launchBucketSortKernel (sycl::queue &q, GpuPairlist *plist)