23#include <ext/intel/esimd.hpp>
34#define KERNEL_MAIN SYCL_ESIMD_KERNEL
39#define KERNEL_FUNC SYCL_ESIMD_FUNCTION
43#define __XETLA_API inline
46#define __ESIMD_ENS sycl::ext::intel::experimental::esimd
50#define __ESIMD_NS sycl::ext::intel::esimd
53#define XETLA_MARKER(message) [[deprecated(message)]]
54#define XETLA_WARNING(msg) __SYCL_WARNING(msg)
59template <
typename type>
64 return __ESIMD_ENS::get_hw_thread_id();
68 return __ESIMD_ENS::get_subdevice_id();
203 using sat_tag =
typename __ESIMD_NS::saturation_on_tag;
209 using sat_tag =
typename __ESIMD_NS::saturation_off_tag;
227#define SW_BARRIER() __ESIMD_NS::fence<__ESIMD_NS::fence_mask::sw_barrier>()
230 __ESIMD_ENS::wait(__ESIMD_NS::simd<uint16_t, 1>(val));
Definition common.hpp:207
static constexpr sat_tag value
Definition common.hpp:210
typename sycl::ext::intel::esimd ::saturation_off_tag sat_tag
Definition common.hpp:209
Definition common.hpp:201
static constexpr sat_tag value
Definition common.hpp:204
typename sycl::ext::intel::esimd ::saturation_on_tag sat_tag
Definition common.hpp:203
typename std::remove_const< T >::type remove_const_t
Definition common.hpp:26
int32_t xetla_get_subdevice_id()
Definition common.hpp:67
constexpr void XETLA_PRINT()
Definition common.hpp:58
#define XETLA_MARKER(message)
Definition common.hpp:53
#define __XETLA_API
Definition common.hpp:43
int32_t xetla_get_hw_thread_id()
Definition common.hpp:63
Definition arch_config.hpp:24
typename __ESIMD_DNS::is_esimd_scalar< T > is_xetla_scalar
Definition common.hpp:214
cache_hint
L1 or L2 cache hint kinds.
Definition common.hpp:89
data_size
Data size or format to read or store.
Definition common.hpp:100
@ u16u32h
load 16b, zero extend to 32b; store the opposite
@ u16u32
load 8b, zero extend to 32b; store the opposite
fence_op
The xetla_fence operation to apply to caches.
Definition common.hpp:120
@ clean
direct and clean lines are discarded w/o eviction
@ flushl2
dirty lines are written to memory, but retained in cache
@ discard
invalidate all clean lines
@ invalidate
dirty lines evicted and invalidated from L1
fence_scope
The scope that xetla_fence operation should apply to.
Definition common.hpp:130
@ tile
flush out to the local scope
@ gpus
entire GPU, flush out to the GPUs LLC
@ sysacq
the entire system memory space
@ system
all GPUs in the system, flush out to memory shared by all GPUs
memory_kind
The specific LSC shared function to fence with xetla_fence.
Definition common.hpp:112
@ typed_global
low-priority untyped global memory
@ untyped_global_low_pri
untyped global memory
@ shared_local
typed global memory
reduce_op
xetla reduce op
Definition common.hpp:217
mem_space
Definition common.hpp:77
grf_mode
Definition common.hpp:74
atomic_op
Represents an atomic operation.
Definition common.hpp:142
@ umin
Atomic store the unsigned int min of src1 and memory data and return the old value....
@ fsub
Atomic float subtract of src1 from memory data and return the old value. see
@ bit_or
Atomic store the bitwise OR of src1 and memory data and return the old value. see
@ iadd
Atomic signed int add of src1 from memory data and return the old value. see
@ smin
Atomic store the signed int min of src1 and memory data and return the old value. see
@ cmpxchg
Atomic bit-compare src1_X and memory data and replace if equal with src1_Y. Returns the old value....
@ fmax
Atomic store the float max of src1 and memory data and return the old value. see
@ fadd
Atomic float add of src1 from memory data and return the old value. see
@ idec
Atomic decrement of memory data and return the old value. see
@ umax
Atomic store the unsigned int max of src1 and memory data and return the old value....
@ store
Atomic store untyped data to memory. see
@ fmin
Atomic store the float min of src1 and memory data and return the old value. see
@ bit_and
Atomic store the bitwise AND of src1 and memory data and return the old value. see
@ iinc
Atomic increment of memory data and return the old value. see
@ smax
Atomic store the signed int max of src1 and memory data and return the old value. see
@ bit_xor
Atomic store the bitwise XOR of src1 and memory data and return the old value. see
@ isub
Atomic signed int subtract of src1 from memory data and return the old value. see
@ fcmpxchg
Atomic float compare src1_X and memory data and replace if equal with src1_Y. Returns the old value....
@ load
Atomic read of the memory data value, without modifying the data. see
gpu_arch
Definition common.hpp:73
msg_type
Definition common.hpp:78
void xetla_wait(uint16_t val)
Definition common.hpp:229
argument_type
xetla dpas argument typ
Definition common.hpp:184
mem_layout
Definition common.hpp:76
Definition arch_config.hpp:24