17 inline namespace _V1 {
51 inline std::vector<memory_order>
53 std::vector<memory_order> result;
54 if (bits & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED)
56 if (bits & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE)
58 if (bits & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE)
60 if (bits & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL)
62 if (bits & UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST)
67 inline std::vector<memory_scope>
69 std::vector<memory_scope> result;
70 if (bits & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM)
72 if (bits & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP)
74 if (bits & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP)
76 if (bits & UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE)
78 if (bits & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM)
83 #ifndef __SYCL_DEVICE_ONLY__
89 return std::memory_order_consume;
The SYCL device class encapsulates a single SYCL device on which kernels may be executed.
std::vector< memory_scope > readMemoryScopeBitfield(ur_memory_scope_capability_flags_t bits)
std::vector< memory_order > readMemoryOrderBitfield(ur_memory_order_capability_flags_t bits)
std::memory_order getStdMemoryOrder(__spv::MemorySemanticsMask::Flag)
constexpr auto memory_scope_work_group
constexpr auto memory_scope_sub_group
constexpr auto memory_order_release
constexpr auto memory_order_relaxed
constexpr auto memory_order_acq_rel
constexpr auto memory_scope_system
constexpr auto memory_scope_device
constexpr auto memory_order_seq_cst
constexpr auto memory_order_acquire
constexpr auto memory_scope_work_item