Gromacs  2026.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Functions
gmxsycl.h File Reference
#include "config.h"
#include <type_traits>
#include <sycl/sycl.hpp>
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/gmxassert.h"
+ Include dependency graph for gmxsycl.h:
+ This graph shows which files directly or indirectly include this file:

Description

Wraps the complexity of including SYCL in GROMACS.

Typedefs

using gmx::CommandGroupHandler = sycl::handler &
 

Functions

template<typename KernelNameType , typename Queue , typename Kernel , typename Range >
static void gmx::internal::syclSubmitWithFreeFunction (Queue &&queue, Kernel &&kernel, Range &&range)
 Internal helper function to submit to a queue via a free function, avoiding returning an event.
 
template<typename Queue , typename CommandGroupFunction >
static void gmx::syclSubmitWithCghWithoutEvent (Queue &&queue, CommandGroupFunction &&commandGroupFunction)
 Helper function to submit to a queue via a handler, avoiding returning an event (if possible).
 
template<typename KernelNameType , typename KernelFunctionBuilder , typename Queue , typename Range , class... Args>
static void gmx::syclSubmitWithoutEvent (Queue &&queue, KernelFunctionBuilder kernelFunctionBuilder, Range &&range, Args &&...args)
 Helper function to submit a SYCL operation without returning an event (if possible). More...
 
template<typename KernelNameType , typename KernelFunctionBuilder , typename Queue , typename Range , class... Args>
static void gmx::syclSubmitWithoutCghOrEvent (Queue &&queue, KernelFunctionBuilder kernelFunctionBuilder, Range &&range, Args &&...args)
 Helper function to submit a SYCL operation without returning an event. More...
 
template<typename Queue >
static void gmx::syclMemcpyWithoutEvent (Queue &&queue, void *destination, const void *source, size_t numBytes)
 Helper function to submit a SYCL async memcpy without returning an event (if possible). More...
 
static void gmx::syclMemsetWithoutEvent (sycl::queue &&queue, void *pointer, int value, size_t numBytes)
 Helper function to submit a SYCL async memset without returning an event (if possible). More...
 
template<typename CommandGroupFunc >
static void gmx::syclEnqueueCustomOp (sycl::handler &cgh, CommandGroupFunc &&cgf)
 Helper function to add a custom operation to the SYCL handler. More...