19 inline namespace _V1 {
20 namespace ext::oneapi::experimental {
22 namespace info::kernel_queue_specific {
82 template <
int Dimensions>
85 return this_group<Dimensions>();
90 return this_sub_group();
92 namespace this_work_item {
94 return sycl::ext::oneapi::this_work_item::get_nd_item<Dimensions>()
95 .ext_oneapi_get_root_group();
99 namespace this_kernel {
100 template <
int Dimensions>
102 "use sycl::ext::oneapi::experimental::this_work_item::get_root_group() "
105 this_work_item::get_root_group<Dimensions>();
111 template <
int dimensions>
114 #ifdef __SYCL_DEVICE_ONLY__
122 if (ChildGroup.get_group_linear_range() == 1) {
130 throw sycl::runtime_error(
"Barriers are not supported on host device",
131 PI_ERROR_INVALID_DEVICE);
range< Dimensions > get_max_local_range() const
range< Dimensions > get_local_range() const
static constexpr memory_scope fence_scope
id< Dimensions > get_local_id() const
id< Dimensions > get_group_id() const
size_t get_group_linear_id() const
range< Dimensions > get_group_range() const
size_t get_local_linear_range() const
size_t get_local_linear_id() const
size_t get_group_linear_range() const
static constexpr int dimensions
A unique identifier of an item in an index space.
Identifies an instance of the function object executing at each point in an nd_range.
sycl::ext::oneapi::experimental::root_group< Dimensions > ext_oneapi_get_root_group() const
fence_scope
The scope that fence() operation should apply to.
__SYCL_DEPRECATED("use sycl::ext::oneapi::experimental::this_work_item::get_root_group() " "instead") root_group< Dimensions > get_root_group()
root_group< Dimensions > get_root_group()
group< Dimensions > get_child_group(root_group< Dimensions > g)
constexpr use_root_sync_key::value_t use_root_sync
void group_barrier(ext::oneapi::experimental::root_group< dimensions > G, memory_scope FenceScope=decltype(G)::fence_scope)
class __SYCL_EBO __SYCL_SPECIAL_CLASS __SYCL_TYPE(local_accessor) local_accessor class __SYCL_EBO __SYCL_SPECIAL_CLASS Dimensions