DPC++ Runtime
Runtime libraries for oneAPI DPC++
device_event.hpp
Go to the documentation of this file.
1 //==----------- device_event.hpp --- SYCL device event ---------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
11 #include <CL/__spirv/spirv_ops.hpp>
13 
15 namespace sycl {
16 
22 class device_event {
23 private:
24  __ocl_event_t m_Event;
25 
26 public:
27  device_event(const device_event &rhs) = default;
28  device_event(device_event &&rhs) = default;
29  device_event &operator=(const device_event &rhs) = default;
30  device_event &operator=(device_event &&rhs) = default;
31 
32  device_event(__ocl_event_t Event) : m_Event(Event) {}
33 
35 };
36 
37 } // namespace sycl
38 } // __SYCL_INLINE_NAMESPACE(cl)
spirv_ops.hpp
__spirv_GroupWaitEvents
__SYCL_CONVERGENT__ SYCL_EXTERNAL void __spirv_GroupWaitEvents(__spv::Scope Execution, uint32_t NumEvents, __ocl_event_t *WaitEvents) noexcept
Definition: spirv_ops.cpp:18
__spv::Scope::Workgroup
@ Workgroup
Definition: spirv_types.hpp:30
sycl
Definition: invoke_simd.hpp:68
__ocl_event_t
void * __ocl_event_t
Definition: spirv_types.hpp:174
cl::sycl::device_event::device_event
device_event(__ocl_event_t Event)
Definition: device_event.hpp:32
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
cl::sycl::device_event::wait
void wait()
Definition: device_event.hpp:34
cl::sycl::device_event
Encapsulates a single SYCL device event which is available only within SYCL kernel functions and can ...
Definition: device_event.hpp:22
spirv_types.hpp
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12