DPC++ Runtime
Runtime libraries for oneAPI DPC++
memory_properties.hpp File Reference
Include dependency graph for memory_properties.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sycl::_V1::ext::intel::esimd::properties< PropertiesT >
 
struct  sycl::_V1::ext::intel::esimd::cache_hint_L1_key
 The 'cache_hint_L1', 'cache_hint_L2' and 'cache_hint_L3' properties are used to specify L1, L2, L3 cache hints available in target device. More...
 
struct  sycl::_V1::ext::intel::esimd::cache_hint_L2_key
 
struct  sycl::_V1::ext::intel::esimd::cache_hint_L3_key
 
struct  sycl::_V1::ext::intel::esimd::detail::get_ext_oneapi_properties< ext::oneapi::experimental::properties< PropertiesT > >
 
struct  sycl::_V1::ext::intel::esimd::detail::get_ext_oneapi_properties< properties< PropertiesT > >
 
struct  sycl::_V1::ext::intel::esimd::detail::add_alignment_property_helper< PropertyListT, Alignment, HasAlignment >
 Simply returns 'PropertyListT' as it already has the alignment property. More...
 
struct  sycl::_V1::ext::intel::esimd::detail::add_alignment_property_helper< PropertyListT, Alignment, false >
 Returns a new property list type that contains the properties from 'PropertyListT' and the newly added alignment property. More...
 
class  sycl::_V1::ext::intel::esimd::detail::add_alignment_property< PropertyListT, Alignment >
 
struct  sycl::_V1::ext::intel::esimd::detail::remove_alignment_property< PropertyListT >
 
struct  sycl::_V1::ext::intel::esimd::detail::remove_alignment_property< properties< std::tuple< alignment_key::value_t< Alignment >, LastTs... > > >
 
struct  sycl::_V1::ext::intel::esimd::detail::remove_alignment_property< properties< std::tuple< FirstT, alignment_key::value_t< Alignment >, LastTs... > > >
 
struct  sycl::_V1::ext::intel::esimd::detail::add_or_replace_alignment_property< PropertyListT, Alignment >
 
struct  sycl::_V1::ext::intel::esimd::detail::make_L1_L2_alignment_properties< L1H, L2H, Alignment >
 
struct  sycl::_V1::ext::intel::esimd::detail::make_L1_L2_properties< L1H, L2H >
 
struct  sycl::_V1::ext::oneapi::experimental::property_value< sycl::ext::intel::esimd::cache_hint_L1_key, std::integral_constant< sycl::ext::intel::esimd::cache_hint, Hint > >
 
struct  sycl::_V1::ext::oneapi::experimental::property_value< sycl::ext::intel::esimd::cache_hint_L2_key, std::integral_constant< sycl::ext::intel::esimd::cache_hint, Hint > >
 
struct  sycl::_V1::ext::oneapi::experimental::property_value< sycl::ext::intel::esimd::cache_hint_L3_key, std::integral_constant< sycl::ext::intel::esimd::cache_hint, Hint > >
 
struct  sycl::_V1::ext::oneapi::experimental::is_property_list< sycl::ext::intel::esimd::properties< std::tuple< PropertyValueTs... > > >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::intel
 
 sycl::_V1::ext::intel::esimd
 
 sycl::_V1::ext::intel::esimd::detail
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::experimental
 
 sycl::_V1::ext::oneapi::experimental::detail
 

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
 

Macro Definition Documentation

◆ SYCL_EXT_INTEL_ESIMD_MEMORY_PROPERTIES

#define SYCL_EXT_INTEL_ESIMD_MEMORY_PROPERTIES   1

Definition at line 18 of file memory_properties.hpp.