Gromacs  2025-dev-20240614-602a366
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
sycl_kernel_utils.h File Reference
#include "gmxsycl.h"
+ Include dependency graph for sycl_kernel_utils.h:
+ This graph shows which files directly or indirectly include this file:


SYCL kernel helper functions.

Andrey Alekseenko


#define SYCL_ASSERT(condition)


constexpr bool compilingForHost ()
template<int expectedSubGroupSize>
constexpr bool compilingForSubGroupSize ()
template<int expectedSubGroupSize>
constexpr bool skipKernelCompilation ()
template<typename T , sycl::memory_scope MemoryScope, sycl::access::address_space AddressSpace>
static void atomicAddDefault (T &val, const T delta)
template<typename T , sycl::memory_scope MemoryScope = sycl::memory_scope::device, sycl::access::address_space AddressSpace = sycl::access::address_space::global_space>
static void atomicFetchAdd (T &val, const T delta)
 Convenience wrapper to do atomic addition to a global buffer.
template<typename T >
static void atomicFetchAddLocal (T &val, const T delta)
template<typename T , sycl::memory_scope MemoryScope = sycl::memory_scope::device>
static T atomicLoad (T &val)
 Convenience wrapper to do atomic loads from a global buffer.
template<int Dim>
static void subGroupBarrier (const sycl::nd_item< Dim > itemIdx)
 Issue an intra sub-group barrier. More...


static constexpr unsigned int c_cudaFullWarpMask = 0xffffffff
 Full warp active thread mask used in CUDA warp-level primitives.

Function Documentation

template<int Dim>
static void subGroupBarrier ( const sycl::nd_item< Dim >  itemIdx)

Issue an intra sub-group barrier.

Equivalent with CUDA's syncwarp(c_cudaFullWarpMask).