Classes | |
class | cache_hint_wrap |
struct | lsc_bitcast_type |
struct | lsc_expand_type |
Enumerations | |
enum | lsc_vector_size : uint8_t { lsc_vector_size::n1 = 1, lsc_vector_size::n2 = 2, lsc_vector_size::n3 = 3, lsc_vector_size::n4 = 4, lsc_vector_size::n8 = 5, lsc_vector_size::n16 = 6, lsc_vector_size::n32 = 7, lsc_vector_size::n64 = 8 } |
enum | lsc_data_order : uint8_t { lsc_data_order::nontranspose = 1, lsc_data_order::transpose = 2 } |
enum | lsc_action { lsc_action::prefetch, lsc_action::load, lsc_action::store, lsc_action::atomic } |
enum | block_2d_op { block_2d_op::prefetch, block_2d_op::load, block_2d_op::store } |
Functions | |
template<lsc_vector_size VS> | |
constexpr void | check_lsc_vector_size () |
template<typename T , lsc_data_size DS> | |
constexpr void | check_lsc_data_size () |
template<lsc_vector_size VS> | |
constexpr uint8_t | to_int () |
template<int VS> | |
constexpr lsc_vector_size | to_lsc_vector_size () |
template<typename T , lsc_data_size DS> | |
constexpr lsc_data_size | finalize_data_size () |
constexpr lsc_data_size | expand_data_size (lsc_data_size DS) |
constexpr bool | are_both (cache_hint First, cache_hint Second, cache_hint Val) |
template<lsc_action Action, cache_hint L1, cache_hint L3> | |
constexpr void | check_lsc_cache_hint () |
template<typename T , int NBlocks, int Height, int Width, bool Transposed, bool Transformed> | |
constexpr int | get_lsc_block_2d_data_size () |
template<typename RT , typename T , int N> | |
ESIMD_INLINE sycl::ext::intel::esimd::simd< RT, N > | lsc_format_input (sycl::ext::intel::esimd::simd< T, N > Vals) |
template<typename T , typename T1 , int N> | |
ESIMD_INLINE sycl::ext::intel::esimd::simd< T, N > | lsc_format_ret (sycl::ext::intel::esimd::simd< T1, N > Vals) |
template<sycl::ext::intel::esimd::native::lsc::atomic_op Op, typename T , int N, unsigned NumSrc> | |
constexpr void | check_lsc_atomic () |
Check the legality of lsc atomic call in terms of size and type. More... | |
template<cache_hint L1H = cache_hint::none, cache_hint L3H = cache_hint::none> | |
constexpr uint32_t | get_lsc_load_cache_mask () |
template<cache_hint L1H = cache_hint::none, cache_hint L3H = cache_hint::none> | |
constexpr uint32_t | get_lsc_store_cache_mask () |
template<typename T , int BlockWidth, int BlockHeight, int NBlocks, bool Transposed, bool Transformed, block_2d_op Op> | |
constexpr void | check_lsc_block_2d_restrictions () |
Enumerator | |
---|---|
prefetch | |
load | |
store |
Definition at line 2346 of file memory.hpp.
Enumerator | |
---|---|
prefetch | |
load | |
store | |
atomic |
Definition at line 248 of file common.hpp.
|
strong |
Enumerator | |
---|---|
nontranspose | |
transpose |
Definition at line 85 of file common.hpp.
|
strong |
Enumerator | |
---|---|
n1 | |
n2 | |
n3 | |
n4 | |
n8 | |
n16 | |
n32 | |
n64 |
Definition at line 74 of file common.hpp.
|
constexpr |
Definition at line 244 of file common.hpp.
Referenced by check_lsc_cache_hint().
|
constexpr |
Check the legality of lsc atomic call in terms of size and type.
Definition at line 481 of file memory.hpp.
References sycl::_V1::ext::intel::esimd::detail::isPowerOf2().
|
constexpr |
Definition at line 2351 of file memory.hpp.
References __ESIMD_DWORD_BLOCK_2D_WIDTH_SCALE, sycl::_V1::ext::intel::esimd::detail::isPowerOf2(), and store.
Referenced by sycl::_V1::ext::intel::experimental::esimd::lsc_load_2d(), sycl::_V1::ext::intel::experimental::esimd::lsc_prefetch_2d(), and sycl::_V1::ext::intel::experimental::esimd::lsc_store_2d().
|
constexpr |
Definition at line 251 of file common.hpp.
References are_both(), atomic, sycl::_V1::ext::intel::experimental::esimd::cached, load, sycl::_V1::ext::intel::experimental::esimd::none, prefetch, sycl::_V1::ext::intel::experimental::esimd::read_invalidate, store, sycl::_V1::ext::intel::experimental::esimd::streaming, sycl::_V1::ext::intel::experimental::esimd::uncached, sycl::_V1::ext::intel::experimental::esimd::write_back, and sycl::_V1::ext::intel::experimental::esimd::write_through.
|
constexpr |
Definition at line 104 of file common.hpp.
References sycl::_V1::ext::intel::experimental::esimd::default_size, sycl::_V1::ext::intel::experimental::esimd::u16, sycl::_V1::ext::intel::experimental::esimd::u16u32, sycl::_V1::ext::intel::experimental::esimd::u16u32h, sycl::_V1::ext::intel::experimental::esimd::u32, sycl::_V1::ext::intel::experimental::esimd::u64, sycl::_V1::ext::intel::experimental::esimd::u8, and sycl::_V1::ext::intel::experimental::esimd::u8u32.
|
constexpr |
|
constexpr |
Definition at line 187 of file common.hpp.
References sycl::_V1::ext::intel::experimental::esimd::u16, sycl::_V1::ext::intel::experimental::esimd::u16u32, sycl::_V1::ext::intel::experimental::esimd::u8, and sycl::_V1::ext::intel::experimental::esimd::u8u32.
Referenced by sycl::_V1::ext::intel::experimental::esimd::lsc_atomic_update(), sycl::_V1::ext::intel::experimental::esimd::lsc_gather(), sycl::_V1::ext::intel::experimental::esimd::lsc_prefetch(), sycl::_V1::ext::intel::experimental::esimd::lsc_scatter(), sycl::_V1::ext::intel::experimental::esimd::lsc_slm_atomic_update(), sycl::_V1::ext::intel::experimental::esimd::lsc_slm_gather(), and sycl::_V1::ext::intel::experimental::esimd::lsc_slm_scatter().
|
constexpr |
Definition at line 171 of file common.hpp.
References sycl::_V1::ext::intel::experimental::esimd::default_size, sycl::_V1::ext::intel::experimental::esimd::u16, sycl::_V1::ext::intel::experimental::esimd::u32, sycl::_V1::ext::intel::experimental::esimd::u64, and sycl::_V1::ext::intel::experimental::esimd::u8.
|
constexpr |
Definition at line 443 of file memory.hpp.
|
constexpr |
|
constexpr |
Definition at line 526 of file memory.hpp.
References sycl::_V1::ext::intel::experimental::esimd::cached, sycl::_V1::ext::intel::experimental::esimd::streaming, sycl::_V1::ext::intel::experimental::esimd::uncached, sycl::_V1::ext::intel::experimental::esimd::write_back, and sycl::_V1::ext::intel::experimental::esimd::write_through.
ESIMD_INLINE sycl::ext::intel::esimd::simd<RT, N> sycl::_V1::ext::intel::experimental::esimd::detail::lsc_format_input | ( | sycl::ext::intel::esimd::simd< T, N > | Vals | ) |
Definition at line 453 of file memory.hpp.
ESIMD_INLINE sycl::ext::intel::esimd::simd<T, N> sycl::_V1::ext::intel::experimental::esimd::detail::lsc_format_ret | ( | sycl::ext::intel::esimd::simd< T1, N > | Vals | ) |
Definition at line 468 of file memory.hpp.
|
constexpr |