41template <uint8_t num_producers = 1, uint8_t num_consumers = 1,
57 nbar[2] = (uint32_t)nbarrier_id | uint32_t((uint8_t)role << 14)
58 | uint32_t(num_producers << 16) | uint32_t(num_consumers << 24);
66 constexpr uint32_t sfid = 0x3;
67 constexpr uint32_t exDesc = sfid;
68 constexpr uint32_t msg_desc = 0x2000004;
69 constexpr uint32_t execSize = 0;
71 xetla_raw_send<uint32_t, 16, execSize, sfid, 1>(
nbar, exDesc, msg_desc);
#define __XETLA_API
Definition common.hpp:43
__XETLA_API void named_barrier_wait(uint8_t barrier_id)
Wait on a named barrier.
Definition barrier.hpp:64
__ESIMD_NS::simd< native_type_t< Ty >, N > xetla_vector
wrapper for xetla_vector.
Definition base_types.hpp:149
nbarrier_role
Definition raw_send_nbarrier.hpp:29
Definition arch_config.hpp:24
gpu_arch
Definition common.hpp:73
xetla nbarrier definition API.
Definition raw_send_nbarrier.hpp:43
__XETLA_API void arrive()
named barrier signal from subgroup.
Definition raw_send_nbarrier.hpp:65
__XETLA_API void arrive_wait()
named barrier signal from subgroup.
Definition raw_send_nbarrier.hpp:80
xetla_vector< uint32_t, 16 > nbar
Description of named barrier objection.
Definition raw_send_nbarrier.hpp:48
uint32_t barrier_id
Definition raw_send_nbarrier.hpp:49
__XETLA_API void init_nbarrier(uint8_t nbarrier_id, nbarrier_role role=nbarrier_role::producer_consumer)
Definition raw_send_nbarrier.hpp:55
__XETLA_API void wait()
named barrier wait within subgroup.
Definition raw_send_nbarrier.hpp:76