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

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::oneapi::experimental::prefetch_hint_key
 
struct  sycl::_V1::ext::oneapi::experimental::detail::IsCompileTimeProperty< prefetch_hint_key >
 
struct  sycl::_V1::ext::oneapi::experimental::detail::PropertyMetaInfo< prefetch_hint_key::value_t< Level, Hint > >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::experimental
 
 sycl::_V1::ext::oneapi::experimental::detail
 

Enumerations

enum class  sycl::_V1::ext::oneapi::experimental::cache_level { sycl::_V1::ext::oneapi::experimental::L1 = 0 , sycl::_V1::ext::oneapi::experimental::L2 = 1 , sycl::_V1::ext::oneapi::experimental::L3 = 2 , sycl::_V1::ext::oneapi::experimental::L4 = 3 }
 

Functions

template<typename T , typename Properties >
void sycl::_V1::ext::oneapi::experimental::detail::prefetch_impl (T *ptr, size_t bytes, Properties properties)
 
template<typename Group , typename T , typename Properties >
void sycl::_V1::ext::oneapi::experimental::detail::joint_prefetch_impl (Group g, T *ptr, size_t bytes, Properties properties)
 
template<typename Properties = empty_properties_t>
std::enable_if_t< is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (void *ptr, Properties properties={})
 
template<typename Properties = empty_properties_t>
std::enable_if_t< is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (void *ptr, size_t bytes, Properties properties={})
 
template<typename T , typename Properties = empty_properties_t>
std::enable_if_t< is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (T *ptr, Properties properties={})
 
template<typename T , typename Properties = empty_properties_t>
std::enable_if_t< is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (T *ptr, size_t count, Properties properties={})
 
template<access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (multi_ptr< void, AddressSpace, IsDecorated > ptr, Properties properties={})
 
template<access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (multi_ptr< void, AddressSpace, IsDecorated > ptr, size_t bytes, Properties properties={})
 
template<typename T , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (multi_ptr< T, AddressSpace, IsDecorated > ptr, Properties properties={})
 
template<typename T , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (multi_ptr< T, AddressSpace, IsDecorated > ptr, size_t count, Properties properties={})
 
template<typename DataT , int Dimensions, access_mode AccessMode, access::placeholder IsPlaceholder, typename Properties = empty_properties_t, typename AccessorProperties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_acc_mode< AccessMode > &&(Dimensions > 0) &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (accessor< DataT, Dimensions, AccessMode, target::device, IsPlaceholder, AccessorProperties > acc, id< Dimensions > offset, Properties properties={})
 
template<typename DataT , int Dimensions, access_mode AccessMode, access::placeholder IsPlaceholder, typename Properties = empty_properties_t, typename AccessorProperties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_acc_mode< AccessMode > &&(Dimensions > 0) &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::prefetch (accessor< DataT, Dimensions, AccessMode, target::device, IsPlaceholder, AccessorProperties > acc, size_t offset, size_t count, Properties properties={})
 
template<typename Group , typename Properties = empty_properties_t>
std::enable_if_t< sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, void *ptr, Properties properties={})
 
template<typename Group , typename Properties = empty_properties_t>
std::enable_if_t< sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, void *ptr, size_t bytes, Properties properties={})
 
template<typename Group , typename T , typename Properties = empty_properties_t>
std::enable_if_t< sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, T *ptr, Properties properties={})
 
template<typename Group , typename T , typename Properties = empty_properties_t>
std::enable_if_t< sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, T *ptr, size_t count, Properties properties={})
 
template<typename Group , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, multi_ptr< void, AddressSpace, IsDecorated > ptr, Properties properties={})
 
template<typename Group , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, multi_ptr< void, AddressSpace, IsDecorated > ptr, size_t bytes, Properties properties={})
 
template<typename Group , typename T , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, multi_ptr< T, AddressSpace, IsDecorated > ptr, Properties properties={})
 
template<typename Group , typename T , access::address_space AddressSpace, access::decorated IsDecorated, typename Properties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_AS< AddressSpace > &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, multi_ptr< T, AddressSpace, IsDecorated > ptr, size_t count, Properties properties={})
 
template<typename Group , typename DataT , int Dimensions, access_mode AccessMode, access::placeholder IsPlaceholder, typename Properties = empty_properties_t, typename AccessorProperties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_acc_mode< AccessMode > &&(Dimensions > 0) &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, accessor< DataT, Dimensions, AccessMode, target::device, IsPlaceholder, AccessorProperties > acc, size_t offset, Properties properties={})
 
template<typename Group , typename DataT , int Dimensions, access_mode AccessMode, access::placeholder IsPlaceholder, typename Properties = empty_properties_t, typename AccessorProperties = empty_properties_t>
std::enable_if_t< detail::check_prefetch_acc_mode< AccessMode > &&(Dimensions > 0) &&sycl::is_group_v< std::decay_t< Group > > &&is_property_list_v< std::decay_t< Properties > > > sycl::_V1::ext::oneapi::experimental::joint_prefetch (Group g, accessor< DataT, Dimensions, AccessMode, target::device, IsPlaceholder, AccessorProperties > acc, size_t offset, size_t count, Properties properties={})
 

Variables

template<cache_level Level, typename Hint >
constexpr prefetch_hint_key::value_t< Level, Hint > sycl::_V1::ext::oneapi::experimental::prefetch_hint
 
constexpr prefetch_hint_key::value_t< cache_level::L1, void > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L1
 
constexpr prefetch_hint_key::value_t< cache_level::L2, void > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L2
 
constexpr prefetch_hint_key::value_t< cache_level::L3, void > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L3
 
constexpr prefetch_hint_key::value_t< cache_level::L4, void > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L4
 
constexpr prefetch_hint_key::value_t< cache_level::L1, nontemporal > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L1_nt
 
constexpr prefetch_hint_key::value_t< cache_level::L2, nontemporal > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L2_nt
 
constexpr prefetch_hint_key::value_t< cache_level::L3, nontemporal > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L3_nt
 
constexpr prefetch_hint_key::value_t< cache_level::L4, nontemporal > sycl::_V1::ext::oneapi::experimental::prefetch_hint_L4_nt
 
template<access::address_space AS>
constexpr bool sycl::_V1::ext::oneapi::experimental::detail::check_prefetch_AS
 
template<access_mode mode>
constexpr bool sycl::_V1::ext::oneapi::experimental::detail::check_prefetch_acc_mode