1#ifndef KOKKOS_EXECUTION_IMPL_SYCL_EVENT_HPP
2#define KOKKOS_EXECUTION_IMPL_SYCL_EVENT_HPP
4#include "Kokkos_Core.hpp"
19 mutable std::optional<sycl::event>
m_event = std::nullopt;
32 void record(
const Kokkos::SYCL& exec) {
33 m_event = exec.sycl_queue().ext_oneapi_submit_barrier();
44 constexpr const sycl::event&
sycl_event() const noexcept {
45 KOKKOS_EXPECTS(
m_event.has_value());
50template <Kokkos::ExecutionSpace... ExecFrom>
51requires(std::same_as<ExecFrom, Kokkos::SYCL> && ...)
53 exec.sycl_queue().submit([&](sycl::handler& cgh) { (cgh.depends_on(events.sycl_event()), ...); });
static constexpr auto invalid_event_id
void impl_wait(const Kokkos::Cuda &exec, const Event< ExecFrom > &... events)
Event & operator=(const Event &)=delete
Event(Event &&other) noexcept=delete
void record(const Kokkos::SYCL &exec)
Event(const Event &)=delete
constexpr const sycl::event & sycl_event() const noexcept
std::optional< sycl::event > m_event
Event & operator=(Event &&other) noexcept=delete
An event that can be recorded on an execution space instance.
Determine if the Kokkos backend has non-blocking dispatch.