16 #define SYCL_EXT_ONEAPI_CUDA_ASYNC_BARRIER 1
19 inline namespace _V1 {
22 namespace experimental {
38 #ifdef __SYCL_DEVICE_ONLY__
39 __clc_BarrierInitialize(&state, expected_count);
44 "Barrier is not supported on host.");
49 #ifdef __SYCL_DEVICE_ONLY__
50 __clc_BarrierInvalidate(&state);
53 "Barrier is not supported on host.");
58 #ifdef __SYCL_DEVICE_ONLY__
59 return __clc_BarrierArrive(&state);
62 "Barrier is not supported on host.");
67 #ifdef __SYCL_DEVICE_ONLY__
68 return __clc_BarrierArriveAndDrop(&state);
71 "Barrier is not supported on host.");
76 #ifdef __SYCL_DEVICE_ONLY__
77 return __clc_BarrierArriveNoComplete(&state, count);
81 "Barrier is not supported on host.");
86 #ifdef __SYCL_DEVICE_ONLY__
87 return __clc_BarrierArriveAndDropNoComplete(&state, count);
91 "Barrier is not supported on host.");
96 #ifdef __SYCL_DEVICE_ONLY__
97 __clc_BarrierCopyAsyncArrive(&state);
100 "Barrier is not supported on host.");
105 #ifdef __SYCL_DEVICE_ONLY__
106 __clc_BarrierCopyAsyncArriveNoInc(&state);
109 "Barrier is not supported on host.");
114 #ifdef __SYCL_DEVICE_ONLY__
115 __clc_BarrierWait(&state, arrival);
119 "Barrier is not supported on host.");
124 #ifdef __SYCL_DEVICE_ONLY__
125 return __clc_BarrierTestWait(&state, arrival);
129 "Barrier is not supported on host.");
134 #ifdef __SYCL_DEVICE_ONLY__
135 __clc_BarrierArriveAndWait(&state);
138 "Barrier is not supported on host.");
143 #pragma push_macro("max")
147 static constexpr uint64_t
max() {
return (1 << 20) - 1; }
148 #pragma pop_macro("max")
barrier(const barrier &other)=delete
barrier & operator=(const barrier &other)=delete
arrival_token arrive_and_drop_no_complete(int32_t count)
void arrive_copy_async_no_inc()
static constexpr uint64_t max()
arrival_token arrive_and_drop()
void initialize(uint32_t expected_count)
bool test_wait(arrival_token arrival)
barrier & operator=(barrier &&other) noexcept=delete
arrival_token arrive_no_complete(int32_t count)
void wait(arrival_token arrival)
barrier(barrier &&other) noexcept=delete
conditional< sizeof(long)==8, long, long long >::type int64_t
std::error_code make_error_code(sycl::errc E) noexcept
Constructs an error code using e and sycl_category()
_Abi const simd< _Tp, _Abi > & noexcept