#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
#include <sycl/ext/intel/experimental/fpga_utils.hpp>
#include <sycl/ext/oneapi/experimental/common_annotated_properties/properties.hpp>
#include <sycl/ext/oneapi/properties/properties.hpp>
#include <sycl/ext/oneapi/properties/property_value.hpp>
#include <utility>
Go to the source code of this file.
Macros | |
#define | SYCL_EXT_INTEL_ESIMD_MEMORY_PROPERTIES 1 |
Typedefs | |
using | sycl::_V1::ext::intel::esimd::alignment_key = sycl::ext::oneapi::experimental::alignment_key |
The 'alignment' property is used to specify the alignment of memory accessed in ESIMD memory operation such as block_load(). More... | |
using | sycl::_V1::ext::intel::esimd::default_cache_hint_L1 = cache_hint_L1_key::value_t< cache_hint::none > |
using | sycl::_V1::ext::intel::esimd::default_cache_hint_L2 = cache_hint_L2_key::value_t< cache_hint::none > |
using | sycl::_V1::ext::intel::esimd::default_cache_hint_L3 = cache_hint_L3_key::value_t< cache_hint::none > |
template<typename PropsT > | |
using | sycl::_V1::ext::intel::esimd::detail::is_property_list = ext::oneapi::experimental::is_property_list< PropsT > |
template<typename PropertyListT , size_t Alignment> | |
using | sycl::_V1::ext::intel::esimd::detail::add_alignment_property_t = typename add_alignment_property< PropertyListT, Alignment >::type |
template<typename PropertyListT > | |
using | sycl::_V1::ext::intel::esimd::detail::remove_alignment_property_t = typename remove_alignment_property< PropertyListT >::type |
template<typename PropertyListT , size_t Alignment> | |
using | sycl::_V1::ext::intel::esimd::detail::add_or_replace_alignment_property_t = typename add_or_replace_alignment_property< PropertyListT, Alignment >::type |
template<cache_hint L1H, cache_hint L2H, size_t Alignment> | |
using | sycl::_V1::ext::intel::esimd::detail::make_L1_L2_alignment_properties_t = typename make_L1_L2_alignment_properties< L1H, L2H, Alignment >::type |
template<cache_hint L1H, cache_hint L2H> | |
using | sycl::_V1::ext::intel::esimd::detail::make_L1_L2_properties_t = typename make_L1_L2_properties< L1H, L2H >::type |
Enumerations | |
enum class | sycl::_V1::ext::intel::esimd::cache_level : uint8_t { sycl::_V1::ext::intel::esimd::L1 = 1 , sycl::_V1::ext::intel::esimd::L2 = 2 , sycl::_V1::ext::intel::esimd::L3 = 3 } |
L1, L2 or L3 cache hint levels. L3 is reserved for future use. More... | |
enum class | sycl::_V1::ext::intel::esimd::cache_hint : uint8_t { sycl::_V1::ext::intel::esimd::none = 0 , sycl::_V1::ext::intel::esimd::uncached = 1 , sycl::_V1::ext::intel::esimd::cached = 2 , sycl::_V1::ext::intel::esimd::write_back = 3 , sycl::_V1::ext::intel::esimd::write_through = 4 , sycl::_V1::ext::intel::esimd::streaming = 5 , sycl::_V1::ext::intel::esimd::read_invalidate = 6 , sycl::_V1::ext::intel::esimd::const_cached = 7 } |
L1, L2 or L3 cache hints. More... | |
Functions | |
template<typename PropertiesT , typename KeyT , typename KeyValueT , typename = std::enable_if_t<is_property_list_v<PropertiesT>>> | |
constexpr auto | sycl::_V1::ext::intel::esimd::detail::getPropertyValue (KeyValueT DefaultValue) |
Helper-function that returns the value of the compile time property KeyT if PropertiesT includes it. More... | |
Variables | |
template<int K> | |
constexpr alignment_key::value_t< K > | sycl::_V1::ext::intel::esimd::alignment |
template<cache_hint Hint> | |
constexpr cache_hint_L1_key::value_t< Hint > | sycl::_V1::ext::intel::esimd::cache_hint_L1 |
template<cache_hint Hint> | |
constexpr cache_hint_L2_key::value_t< Hint > | sycl::_V1::ext::intel::esimd::cache_hint_L2 |
template<cache_hint Hint> | |
constexpr cache_hint_L3_key::value_t< Hint > | sycl::_V1::ext::intel::esimd::cache_hint_L3 |
template<typename PropsT > | |
constexpr bool | sycl::_V1::ext::intel::esimd::detail::is_property_list_v = is_property_list<PropsT>::value |
#define SYCL_EXT_INTEL_ESIMD_MEMORY_PROPERTIES 1 |
Definition at line 18 of file memory_properties.hpp.