DPC++ Runtime
Runtime libraries for oneAPI DPC++
syclcompat::experimental Namespace Reference

Classes

class  logical_group
 The logical-group is a logical collection of some work-items within a work-group. More...
 

Functions

template<int dimensions = 3>
void nd_range_barrier (sycl::nd_item< dimensions > item, sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &counter)
 Synchronize work items from all work groups within a SYCL kernel. More...
 
template<>
void nd_range_barrier (sycl::nd_item< 1 > item, sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &counter)
 Synchronize work items from all work groups within a SYCL kernel. More...
 

Function Documentation

◆ nd_range_barrier() [1/2]

template<>
void syclcompat::experimental::nd_range_barrier ( sycl::nd_item< 1 >  item,
sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &  counter 
)
inline

Synchronize work items from all work groups within a SYCL kernel.

Parameters
[in]itemRepresents a work group.
[in]counterAn atomic object defined on a device memory which can be accessed by work items in all work groups. The initial value of the counter should be zero. Note: Please make sure that all the work items of all work groups within a SYCL kernel can be scheduled actively at the same time on a device.

Definition at line 466 of file util.hpp.

References sycl::_V1::nd_item< Dimensions >::barrier(), sycl::_V1::nd_item< Dimensions >::get_group(), sycl::_V1::nd_item< Dimensions >::get_group_range(), and sycl::_V1::nd_item< Dimensions >::get_local_linear_id().

◆ nd_range_barrier() [2/2]

template<int dimensions = 3>
void syclcompat::experimental::nd_range_barrier ( sycl::nd_item< dimensions >  item,
sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &  counter 
)
inline

Synchronize work items from all work groups within a SYCL kernel.

Parameters
[in]itemRepresents a work group.
[in]counterAn atomic object defined on a device memory which can be accessed by work items in all work groups. The initial value of the counter should be zero. Note: Please make sure that all the work items of all work groups within a SYCL kernel can be scheduled actively at the same time on a device.

Definition at line 426 of file util.hpp.

References sycl::_V1::nd_item< Dimensions >::barrier(), sycl::_V1::nd_item< Dimensions >::get_group(), sycl::_V1::nd_item< Dimensions >::get_group_range(), and sycl::_V1::nd_item< Dimensions >::get_local_linear_id().