DPC++ Runtime
Runtime libraries for oneAPI DPC++
Collaboration diagram for Named barrier APIs.:

Functions

__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_wait (uint8_t id)
 Wait on a named barrier Available only on PVC. More...
 
template<uint8_t NbarCount>
__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_init ()
 Initialize number of named barriers for a kernel Available only on PVC. More...
 
__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_signal (uint8_t barrier_id, uint8_t producer_consumer_mode, uint32_t num_producers, uint32_t num_consumers)
 Perform signal operation for the given named barrier Available only on PVC. More...
 
template<typename T , int N>
__ESIMD_API std::enable_if_t<(sizeof(T) *N >=2)> sycl::_V1::ext::intel::experimental::esimd::wait (sycl::ext::intel::esimd::simd< T, N > value)
 Create explicit scoreboard dependency to avoid device code motion across this call and preserve the value computation even if it is unused. More...
 
template<typename T , typename RegionT >
__ESIMD_API std::enable_if_t<(RegionT::length *sizeof(typename RegionT::element_type) >=2)> sycl::_V1::ext::intel::experimental::esimd::wait (sycl::ext::intel::esimd::simd_view< T, RegionT > value)
 Create explicit scoreboard dependency to avoid device code motion across this call and preserve the value computation even if it is unused. More...
 

Detailed Description

Function Documentation

◆ named_barrier_init()

template<uint8_t NbarCount>
__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_init ( )

Initialize number of named barriers for a kernel Available only on PVC.

Template Parameters
NbarCount- number of named barriers

Definition at line 376 of file memory.hpp.

◆ named_barrier_signal()

__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_signal ( uint8_t  barrier_id,
uint8_t  producer_consumer_mode,
uint32_t  num_producers,
uint32_t  num_consumers 
)

Perform signal operation for the given named barrier Available only on PVC.

Parameters
barrier_id- named barrier id
producer_consumer_mode- 2-bit flag to indicate if it's producer mode (0x1) or consumer mode (0x2). User must ensure the input value is set correctly and higher order bits are cleared.
num_producers- number of producers
num_consumers- number of consumers

Definition at line 392 of file memory.hpp.

References sycl::_V1::ext::intel::esimd::barrier(), sycl::_V1::ext::intel::esimd::global_coherent_fence, and sycl::_V1::ext::intel::esimd::local_barrier.

◆ named_barrier_wait()

__ESIMD_API void sycl::_V1::ext::intel::experimental::esimd::named_barrier_wait ( uint8_t  id)

Wait on a named barrier Available only on PVC.

Parameters
id- named barrier id

Definition at line 368 of file memory.hpp.

◆ wait() [1/2]

template<typename T , int N>
__ESIMD_API std::enable_if_t<(sizeof(T) * N >= 2)> sycl::_V1::ext::intel::experimental::esimd::wait ( sycl::ext::intel::esimd::simd< T, N >  value)

Create explicit scoreboard dependency to avoid device code motion across this call and preserve the value computation even if it is unused.

Definition at line 421 of file memory.hpp.

Referenced by syclcompat::detail::matrix_mem_copy().

◆ wait() [2/2]

template<typename T , typename RegionT >
__ESIMD_API std::enable_if_t< (RegionT::length * sizeof(typename RegionT::element_type) >= 2)> sycl::_V1::ext::intel::experimental::esimd::wait ( sycl::ext::intel::esimd::simd_view< T, RegionT >  value)

Create explicit scoreboard dependency to avoid device code motion across this call and preserve the value computation even if it is unused.

Definition at line 434 of file memory.hpp.

Referenced by syclcompat::memcpy(), syclcompat::memset(), syclcompat::memset_d16(), and syclcompat::memset_d32().