Namespaces | |
_V1 | |
access | |
detail | |
ext | |
half_precision | |
info | |
native | |
opencl | |
property | |
property | |
usm | |
Typedefs | |
using | access_mode = access::mode |
template<typename T > | |
using | remove_decoration_t = typename remove_decoration< T >::type |
using | instead = std::uint8_t |
using | __SYCL2020_DEPRECATED = signed char |
using | half = sycl::detail::half_impl::half |
using | async_handler = std::function< void(sycl::exception_list)> |
template<backend Backend, typename SyclType > | |
using | backend_input_t = typename backend_traits< Backend >::template input_type< SyclType > |
template<backend Backend, typename SyclType > | |
using | backend_return_t = typename backend_traits< Backend >::template return_type< SyclType > |
template<typename DataT > | |
using | buffer_allocator = detail::sycl_memory_object_allocator< DataT > |
template<backend B> | |
using | errc_for = typename backend_traits< B >::errc |
template<typename T = void> | |
using | plus = std::plus< T > |
template<typename T = void> | |
using | multiplies = std::multiplies< T > |
template<typename T = void> | |
using | bit_and = std::bit_and< T > |
template<typename T = void> | |
using | bit_or = std::bit_or< T > |
template<typename T = void> | |
using | bit_xor = std::bit_xor< T > |
using | byte = unsigned char |
using | image_allocator = detail::aligned_allocator< byte > |
using | value_type = const void |
using | pointer = std::conditional_t< is_decorated, decorated_type *, std::add_pointer_t< value_type > > |
using | difference_type = std::ptrdiff_t |
template<class name , class dataT , int32_t min_capacity = 0> | |
using | pipe = ext::intel::pipe< name, dataT, min_capacity > |
template<typename ElementType , access::decorated IsDecorated = access::decorated::legacy> | |
using | generic_ptr = multi_ptr< ElementType, access::address_space::generic_space, IsDecorated > |
template<typename ElementType , access::decorated IsDecorated = access::decorated::legacy> | |
using | global_ptr = multi_ptr< ElementType, access::address_space::global_space, IsDecorated > |
template<typename ElementType , access::decorated IsDecorated = access::decorated::legacy> | |
using | local_ptr = multi_ptr< ElementType, access::address_space::local_space, IsDecorated > |
template<typename ElementType > | |
using | constant_ptr = multi_ptr< ElementType, access::address_space::constant_space, access::decorated::legacy > |
template<typename ElementType , access::decorated IsDecorated = access::decorated::legacy> | |
using | private_ptr = multi_ptr< ElementType, access::address_space::private_space, IsDecorated > |
template<typename ElementType > | |
using | raw_global_ptr = multi_ptr< ElementType, access::address_space::global_space, access::decorated::no > |
template<typename ElementType > | |
using | raw_local_ptr = multi_ptr< ElementType, access::address_space::local_space, access::decorated::no > |
template<typename ElementType > | |
using | raw_private_ptr = multi_ptr< ElementType, access::address_space::private_space, access::decorated::no > |
template<typename ElementType > | |
using | decorated_global_ptr = multi_ptr< ElementType, access::address_space::global_space, access::decorated::yes > |
template<typename ElementType > | |
using | decorated_local_ptr = multi_ptr< ElementType, access::address_space::local_space, access::decorated::yes > |
template<typename ElementType > | |
using | decorated_private_ptr = multi_ptr< ElementType, access::address_space::private_space, access::decorated::yes > |
template<typename T > | |
using | vec_data = detail::vec_helper< T > |
template<typename T > | |
using | vec_data_t = typename detail::vec_helper< T >::RetType |
using | ContextImplPtr = std::shared_ptr< sycl::detail::context_impl > |
using | alloc = sycl::usm::alloc |
Enumerations | |
enum class | image_target : unsigned int { device = 0 , host_task = 1 } |
enum class | backend : char { __SYCL2020_DEPRECATED =("'host' backend is no longer supported") = 0 , opencl = 1 , ext_oneapi_level_zero = 2 , ext_oneapi_cuda = 3 , all = 4 , __SYCL_DEPRECATED , ext_oneapi_hip = 6 , ext_oneapi_native_cpu = 7 } |
enum class | rounding_mode { automatic = 0 , rte = 1 , rtz = 2 , rtp = 3 , rtn = 4 } |
enum class | errc : unsigned int { success = 0 , runtime = 1 , kernel = 2 , accessor = 3 , nd_range = 4 , event = 5 , kernel_argument = 6 , build = 7 , invalid = 8 , memory_allocation = 9 , platform = 10 , profiling = 11 , feature_not_supported = 12 , kernel_not_supported = 13 , backend_mismatch = 14 } |
enum class | image_channel_order : unsigned int { a = 0 , r = 1 , rx = 2 , rg = 3 , rgx = 4 , ra = 5 , rgb = 6 , rgbx = 7 , rgba = 8 , argb = 9 , bgra = 10 , intensity = 11 , luminance = 12 , abgr = 13 , ext_oneapi_srgba = 14 } |
enum class | image_channel_type : unsigned int { snorm_int8 = 0 , snorm_int16 = 1 , unorm_int8 = 2 , unorm_int16 = 3 , unorm_short_565 = 4 , unorm_short_555 = 5 , unorm_int_101010 = 6 , signed_int8 = 7 , signed_int16 = 8 , signed_int32 = 9 , unsigned_int8 = 10 , unsigned_int16 = 11 , unsigned_int32 = 12 , fp16 = 13 , fp32 = 14 } |
enum class | image_format : unsigned int { r8g8b8a8_unorm = 0 , r16g16b16a16_unorm = 1 , r8g8b8a8_sint = 2 , r16g16b16a16_sint = 3 , r32b32g32a32_sint = 4 , r8g8b8a8_uint = 5 , r16g16b16a16_uint = 6 , r32b32g32a32_uint = 7 , r16b16g16a16_sfloat = 8 , r32g32b32a32_sfloat = 9 , b8g8r8a8_unorm = 10 } |
enum class | bundle_state : char { input = 0 , object = 1 , executable = 2 , ext_oneapi_source = 3 } |
enum class | memory_order : int { relaxed = 0 , acquire = 1 , __consume_unsupported , release = 3 , acq_rel = 4 , seq_cst = 5 } |
enum class | memory_scope : int { work_item = 0 , sub_group = 1 , work_group = 2 , device = 3 , system = 4 } |
enum class | addressing_mode : unsigned int { mirrored_repeat = PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT , repeat = PI_SAMPLER_ADDRESSING_MODE_REPEAT , clamp_to_edge = PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE , clamp = PI_SAMPLER_ADDRESSING_MODE_CLAMP , none = PI_SAMPLER_ADDRESSING_MODE_NONE } |
enum class | filtering_mode : unsigned int { nearest = PI_SAMPLER_FILTER_MODE_NEAREST , linear = PI_SAMPLER_FILTER_MODE_LINEAR } |
enum class | coordinate_normalization_mode : unsigned int { normalized = 1 , unnormalized = 0 } |
enum class | stream_manipulator { dec = 0 , hex = 1 , oct = 2 , noshowbase = 3 , showbase = 4 , noshowpos = 5 , showpos = 6 , endl = 7 , flush = 8 , fixed = 9 , scientific = 10 , hexfloat = 11 , defaultfloat = 12 } |
Functions | |
template<typename DataT , int Dimensions, typename AllocatorT > | |
class __SYCL_EBO __SYCL_SPECIAL_CLASS __SYCL_TYPE(accessor) accessor | accessor (buffer< DataT, Dimensions, AllocatorT >) -> accessor< DataT, Dimensions, access::mode::read_write, target::device, access::placeholder::true_t > |
Buffer accessor. More... | |
template<typename DataT , int Dimensions, typename AllocatorT , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, access::mode::read_write, target::device, access::placeholder::true_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type1 >(), detail::deduceAccessTarget< Type1, Type1 >(target::device), access::placeholder::true_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type1 >(), detail::deduceAccessTarget< Type1, Type1 >(target::device), access::placeholder::true_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type2 >(), detail::deduceAccessTarget< Type1, Type2 >(target::device), access::placeholder::true_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type2 >(), detail::deduceAccessTarget< Type1, Type2 >(target::device), access::placeholder::true_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type2, Type3 >(), detail::deduceAccessTarget< Type2, Type3 >(target::device), access::placeholder::true_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type2, Type3 >(), detail::deduceAccessTarget< Type2, Type3 >(target::device), access::placeholder::true_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3, Type4) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type3, Type4 >(), detail::deduceAccessTarget< Type3, Type4 >(target::device), access::placeholder::true_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3, Type4, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type3, Type4 >(), detail::deduceAccessTarget< Type3, Type4 >(target::device), access::placeholder::true_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &) -> accessor< DataT, Dimensions, access::mode::read_write, target::device, access::placeholder::false_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, access::mode::read_write, target::device, access::placeholder::false_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type1 >(), detail::deduceAccessTarget< Type1, Type1 >(target::device), access::placeholder::false_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type1 >(), detail::deduceAccessTarget< Type1, Type1 >(target::device), access::placeholder::false_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type2 >(), detail::deduceAccessTarget< Type1, Type2 >(target::device), access::placeholder::false_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type2 >(), detail::deduceAccessTarget< Type1, Type2 >(target::device), access::placeholder::false_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2, Type3) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type2, Type3 >(), detail::deduceAccessTarget< Type2, Type3 >(target::device), access::placeholder::false_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2, Type3, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type2, Type3 >(), detail::deduceAccessTarget< Type2, Type3 >(target::device), access::placeholder::false_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 > | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2, Type3, Type4) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type3, Type4 >(), detail::deduceAccessTarget< Type3, Type4 >(target::device), access::placeholder::false_t > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 , typename... PropsT> | |
accessor (buffer< DataT, Dimensions, AllocatorT >, handler &, Type1, Type2, Type3, Type4, const ext::oneapi::accessor_property_list< PropsT... > &) -> accessor< DataT, Dimensions, detail::deduceAccessMode< Type3, Type4 >(), detail::deduceAccessTarget< Type3, Type4 >(target::device), access::placeholder::false_t, ext::oneapi::accessor_property_list< PropsT... >> | |
template<typename DataT , int Dimensions, typename AllocatorT > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >) -> host_accessor< DataT, Dimensions, access::mode::read_write > | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >, Type1) -> host_accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type1 >()> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2) -> host_accessor< DataT, Dimensions, detail::deduceAccessMode< Type1, Type2 >()> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3) -> host_accessor< DataT, Dimensions, detail::deduceAccessMode< Type2, Type3 >()> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3, Type4) -> host_accessor< DataT, Dimensions, detail::deduceAccessMode< Type3, Type4 >()> | |
template<typename DataT , int Dimensions, typename AllocatorT , typename Type1 , typename Type2 , typename Type3 , typename Type4 , typename Type5 > | |
host_accessor (buffer< DataT, Dimensions, AllocatorT >, Type1, Type2, Type3, Type4, Type5) -> host_accessor< DataT, Dimensions, detail::deduceAccessMode< Type4, Type5 >()> | |
template<typename DataT , int Dimensions, access::mode AccessMode, access::placeholder IsPlaceholder> | |
class __SYCL_EBO __SYCL_SPECIAL_CLASS | __SYCL_TYPE (accessor) accessor< DataT |
Image accessors. More... | |
enum | __SYCL_TYPE (aspect) aspect |
template<typename T , access::address_space addressSpace = access::address_space::global_space> | |
class | __SYCL2020_DEPRECATED ("sycl::atomic is deprecated since SYCL 2020") atomic |
template<typename T , access::address_space addressSpace> | |
void | atomic_store (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_load (atomic< T, addressSpace > Object, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_exchange (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
bool | atomic_compare_exchange_strong (atomic< T, addressSpace > Object, T &Expected, T Desired, memory_order SuccessOrder=memory_order::relaxed, memory_order FailOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_add (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_sub (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_and (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_or (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_xor (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_min (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_max (atomic< T, addressSpace > Object, T Operand, memory_order MemoryOrder=memory_order::relaxed) |
void | atomic_fence (memory_order order, memory_scope scope) |
template<backend BackendName, class SyclObjectT > | |
auto | get_native (const SyclObjectT &Obj) -> backend_return_t< BackendName, SyclObjectT > |
template<backend BackendName> | |
auto | get_native (const queue &Obj) -> backend_return_t< BackendName, queue > |
template<backend BackendName, bundle_state State> | |
auto | get_native (const kernel_bundle< State > &Obj) -> backend_return_t< BackendName, kernel_bundle< State >> |
template<backend BackendName, typename DataT , int Dimensions, typename AllocatorT > | |
auto | get_native (const buffer< DataT, Dimensions, AllocatorT > &Obj) -> backend_return_t< BackendName, buffer< DataT, Dimensions, AllocatorT >> |
template<backend BackendName, typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder> | |
auto | get_native (const accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &Obj) -> typename detail::interop< BackendName, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >>::type=delete |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakePlatform==true, platform > | make_platform (const typename backend_traits< Backend >::template input_type< platform > &BackendObject) |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeDevice==true, device > | make_device (const typename backend_traits< Backend >::template input_type< device > &BackendObject) |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeContext==true, context > | make_context (const typename backend_traits< Backend >::template input_type< context > &BackendObject, const async_handler &Handler={}) |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeQueue==true, queue > | make_queue (const typename backend_traits< Backend >::template input_type< queue > &BackendObject, const context &TargetContext, const async_handler Handler={}) |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event > | make_event (const typename backend_traits< Backend >::template input_type< event > &BackendObject, const context &TargetContext) |
template<backend Backend> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event > | make_event (const typename backend_traits< Backend >::template input_type< event > &BackendObject, const context &TargetContext, bool KeepOwnership) |
template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = buffer_allocator<std::remove_const_t<T>>> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeBuffer==true &&Backend !=backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > > | make_buffer (const typename backend_traits< Backend >::template input_type< buffer< T, Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent={}) |
template<backend Backend, int Dimensions = 1, typename AllocatorT = image_allocator> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeImage==true &&Backend !=backend::ext_oneapi_level_zero, image< Dimensions, AllocatorT > > | make_image (const typename backend_traits< Backend >::template input_type< image< Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent={}) |
template<backend Backend> | |
kernel | make_kernel (const typename backend_traits< Backend >::template input_type< kernel > &BackendObject, const context &TargetContext) |
template<backend Backend, bundle_state State> | |
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeKernelBundle==true, kernel_bundle< State > > | make_kernel_bundle (const typename backend_traits< Backend >::template input_type< kernel_bundle< State >> &BackendObject, const context &TargetContext) |
std::ostream & | operator<< (std::ostream &Out, backend be) |
template<typename To , typename From > | |
std::enable_if_t< sizeof(To)==sizeof(From) &&std::is_trivially_copyable< From >::value &&std::is_trivially_copyable< To >::value, To > | bit_cast (const From &from) noexcept |
template<int SZ> | |
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd< float, SZ > | cos (sycl::ext::intel::esimd::simd< float, SZ > x) __NOEXC |
template<int SZ> | |
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd< float, SZ > | sin (sycl::ext::intel::esimd::simd< float, SZ > x) __NOEXC |
template<int SZ> | |
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd< float, SZ > | exp (sycl::ext::intel::esimd::simd< float, SZ > x) __NOEXC |
template<int SZ> | |
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd< float, SZ > | log (sycl::ext::intel::esimd::simd< float, SZ > x) __NOEXC |
template<backend Backend, class SyclT > | |
auto | get_native (const SyclT &Obj) -> backend_return_t< Backend, SyclT > |
float | ceil (float) |
double | ceil (double) |
float | floor (float) |
double | floor (double) |
float | rint (float) |
double | rint (double) |
float | trunc (float) |
double | trunc (double) |
class | __SYCL2020_DEPRECATED ("Use SYCL 2020 callable device selectors instead.") device_selector |
The SYCL 1.2.1 device_selector class provides ability to choose the best SYCL device based on heuristics specified by the user. More... | |
class __SYCL2020_DEPRECATED("Host device is no longer supported.") host_selector int | default_selector_v (const device &dev) |
Selects SYCL host device. More... | |
int | gpu_selector_v (const device &dev) |
int | cpu_selector_v (const device &dev) |
int | accelerator_selector_v (const device &dev) |
detail::DSelectorInvocableType | aspect_selector (const std::vector< aspect > &RequireList, const std::vector< aspect > &DenyList={}) |
template<typename... AspectListT> | |
detail::DSelectorInvocableType | aspect_selector (AspectListT... AspectList) |
template<aspect... AspectList> | |
detail::DSelectorInvocableType | aspect_selector () |
std::error_code | make_error_code (sycl::errc E) noexcept |
Constructs an error code using e and sycl_category() More... | |
const std::error_category & | sycl_category () noexcept |
template<> | |
backend_return_t< backend::ext_oneapi_hip, device > | get_native< backend::ext_oneapi_hip, device > (const device &Obj) |
template<> | |
device | make_device< backend::ext_oneapi_hip > (const backend_input_t< backend::ext_oneapi_hip, device > &BackendObject) |
template<> | |
context | make_context< backend::ext_oneapi_level_zero > (const backend_input_t< backend::ext_oneapi_level_zero, context > &BackendObject, const async_handler &Handler) |
template<> | |
queue | make_queue< backend::ext_oneapi_level_zero > (const backend_input_t< backend::ext_oneapi_level_zero, queue > &BackendObject, const context &TargetContext, const async_handler Handler) |
template<> | |
auto | get_native< backend::ext_oneapi_level_zero, queue > (const queue &Obj) -> backend_return_t< backend::ext_oneapi_level_zero, queue > |
template<> | |
event | make_event< backend::ext_oneapi_level_zero > (const backend_input_t< backend::ext_oneapi_level_zero, event > &BackendObject, const context &TargetContext) |
template<> | |
kernel_bundle< bundle_state::executable > | make_kernel_bundle< backend::ext_oneapi_level_zero, bundle_state::executable > (const backend_input_t< backend::ext_oneapi_level_zero, kernel_bundle< bundle_state::executable >> &BackendObject, const context &TargetContext) |
template<> | |
kernel | make_kernel< backend::ext_oneapi_level_zero > (const backend_input_t< backend::ext_oneapi_level_zero, kernel > &BackendObject, const context &TargetContext) |
template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = buffer_allocator<std::remove_const_t<T>>> | |
std::enable_if_t< Backend==backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > > | make_buffer (const backend_input_t< backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent) |
template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = buffer_allocator<std::remove_const_t<T>>> | |
std::enable_if_t< Backend==backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > > | make_buffer (const backend_input_t< backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT >> &BackendObject, const context &TargetContext) |
template<backend Backend, int Dimensions = 1, typename AllocatorT = image_allocator> | |
std::enable_if_t< Backend==backend::ext_oneapi_level_zero, image< Dimensions, AllocatorT > > | make_image (const backend_input_t< Backend, image< Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent) |
namespace | __SYCL2020_DEPRECATED ("use 'ext::oneapi::level_zero' instead") level_zero |
template<> | |
auto | get_native< backend::ext_oneapi_cuda, context > (const context &C) -> backend_return_t< backend::ext_oneapi_cuda, context > |
template<> | |
backend_return_t< backend::ext_oneapi_cuda, context > | interop_handle::get_native_context< backend::ext_oneapi_cuda > () const |
template<> | |
device | make_device< backend::ext_oneapi_cuda > (const backend_input_t< backend::ext_oneapi_cuda, device > &BackendObject) |
template<> | |
event | make_event< backend::ext_oneapi_cuda > (const backend_input_t< backend::ext_oneapi_cuda, event > &BackendObject, const context &TargetContext) |
template<> | |
queue | make_queue< backend::ext_oneapi_cuda > (const backend_input_t< backend::ext_oneapi_cuda, queue > &BackendObject, const context &TargetContext, const async_handler Handler) |
template<int dimensions> | |
void | group_barrier (ext::oneapi::experimental::root_group< dimensions > G, memory_scope FenceScope=decltype(G)::fence_scope) |
template<typename T , int Dimensions = 1> | |
class | __SYCL_TYPE (private_memory) private_memory |
template<int Dimensions = 1> | |
class | __SYCL_TYPE (group) group |
Encapsulates all functionality required to represent a particular work-group within a parallel execution. More... | |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< T >::value||(detail::is_complex< T >::value &&detail::is_multiplies< T, BinaryOperation >::value)) &&detail::is_native_op< T, BinaryOperation >::value), T > | reduce_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_complex< T >::value &&detail::is_native_op< T, sycl::plus< T >>::value &&detail::is_plus< T, BinaryOperation >::value), T > | reduce_over_group (Group g, T x, BinaryOperation) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | reduce_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename V , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< V >::value||detail::is_complex< V >::value) &&(detail::is_scalar_arithmetic< T >::value||detail::is_complex< T >::value) &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value &&std::is_convertible_v< V, T >), T > | reduce_over_group (Group g, V x, T init, BinaryOperation binary_op) |
template<typename Group , typename V , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< V >::value &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | reduce_over_group (Group g, V x, T init, BinaryOperation binary_op) |
template<typename Group , typename Ptr , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< Ptr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< Ptr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | joint_reduce (Group g, Ptr first, Ptr last, T init, BinaryOperation binary_op) |
template<typename Group , typename Ptr , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< Ptr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< Ptr >::type >::value &&detail::is_plus_or_multiplies_if_complex< typename detail::remove_pointer< Ptr >::type, BinaryOperation >::value), typename detail::remove_pointer< Ptr >::type > | joint_reduce (Group g, Ptr first, Ptr last, BinaryOperation binary_op) |
template<typename Group > | |
std::enable_if_t< is_group_v< std::decay_t< Group > >, bool > | any_of_group (Group g, bool pred) |
template<typename Group , typename T , class Predicate > | |
std::enable_if_t< is_group_v< Group >, bool > | any_of_group (Group g, T x, Predicate pred) |
template<typename Group , typename Ptr , class Predicate > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< Ptr >), bool > | joint_any_of (Group g, Ptr first, Ptr last, Predicate pred) |
template<typename Group > | |
std::enable_if_t< is_group_v< std::decay_t< Group > >, bool > | all_of_group (Group g, bool pred) |
template<typename Group , typename T , class Predicate > | |
std::enable_if_t< is_group_v< std::decay_t< Group > >, bool > | all_of_group (Group g, T x, Predicate pred) |
template<typename Group , typename Ptr , class Predicate > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< Ptr >), bool > | joint_all_of (Group g, Ptr first, Ptr last, Predicate pred) |
template<typename Group > | |
std::enable_if_t< is_group_v< std::decay_t< Group > >, bool > | none_of_group (Group g, bool pred) |
template<typename Group , typename T , class Predicate > | |
std::enable_if_t< is_group_v< std::decay_t< Group > >, bool > | none_of_group (Group g, T x, Predicate pred) |
template<typename Group , typename Ptr , class Predicate > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< Ptr >), bool > | joint_none_of (Group g, Ptr first, Ptr last, Predicate pred) |
template<typename Group , typename T > | |
std::enable_if_t<((std::is_same_v< std::decay_t< Group >, sub_group >||sycl::ext::oneapi::experimental::is_user_constructed_group_v< std::decay_t< Group >>) &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | shift_group_left (Group g, T x, typename Group::linear_id_type delta=1) |
template<typename Group , typename T > | |
std::enable_if_t<((std::is_same_v< std::decay_t< Group >, sub_group >||sycl::ext::oneapi::experimental::is_user_constructed_group_v< std::decay_t< Group >>) &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | shift_group_right (Group g, T x, typename Group::linear_id_type delta=1) |
template<typename Group , typename T > | |
std::enable_if_t<((std::is_same_v< std::decay_t< Group >, sub_group >||sycl::ext::oneapi::experimental::is_user_constructed_group_v< std::decay_t< Group >>) &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | permute_group_by_xor (Group g, T x, typename Group::linear_id_type mask) |
template<typename Group , typename T > | |
std::enable_if_t<((std::is_same_v< std::decay_t< Group >, sub_group >||sycl::ext::oneapi::experimental::is_user_constructed_group_v< std::decay_t< Group >>) &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | select_from_group (Group g, T x, typename Group::id_type local_id) |
template<typename Group , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | group_broadcast (Group g, T x, typename Group::id_type local_id) |
template<typename Group , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | group_broadcast (Group g, T x, typename Group::linear_id_type linear_local_id) |
template<typename Group , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable_v< T >||detail::is_vec< T >::value)), T > | group_broadcast (Group g, T x) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< T >::value||(detail::is_complex< T >::value &&detail::is_multiplies< T, BinaryOperation >::value)) &&detail::is_native_op< T, BinaryOperation >::value), T > | exclusive_scan_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_complex< T >::value &&detail::is_native_op< T, sycl::plus< T >>::value &&detail::is_plus< T, BinaryOperation >::value), T > | exclusive_scan_over_group (Group g, T x, BinaryOperation) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | exclusive_scan_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename V , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< V >::value &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | exclusive_scan_over_group (Group g, V x, T init, BinaryOperation binary_op) |
template<typename Group , typename V , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< V >::value||detail::is_complex< V >::value) &&(detail::is_scalar_arithmetic< T >::value||detail::is_complex< T >::value) &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value &&std::is_convertible_v< V, T >), T > | exclusive_scan_over_group (Group g, V x, T init, BinaryOperation binary_op) |
template<typename Group , typename InPtr , typename OutPtr , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< InPtr > &&detail::is_pointer_v< OutPtr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< OutPtr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value), OutPtr > | joint_exclusive_scan (Group g, InPtr first, InPtr last, OutPtr result, T init, BinaryOperation binary_op) |
template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< InPtr > &&detail::is_pointer_v< OutPtr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< OutPtr >::type >::value &&detail::is_native_op< typename detail::remove_pointer< OutPtr >::type, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< typename detail::remove_pointer< OutPtr >::type, BinaryOperation >::value), OutPtr > | joint_exclusive_scan (Group g, InPtr first, InPtr last, OutPtr result, BinaryOperation binary_op) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | inclusive_scan_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< T >::value||(detail::is_complex< T >::value &&detail::is_multiplies< T, BinaryOperation >::value)) &&detail::is_native_op< T, BinaryOperation >::value), T > | inclusive_scan_over_group (Group g, T x, BinaryOperation binary_op) |
template<typename Group , typename T , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_complex< T >::value &&detail::is_native_op< T, sycl::plus< T >>::value &&detail::is_plus< T, BinaryOperation >::value), T > | inclusive_scan_over_group (Group g, T x, BinaryOperation) |
template<typename Group , typename V , class BinaryOperation , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&(detail::is_scalar_arithmetic< V >::value||detail::is_complex< V >::value) &&(detail::is_scalar_arithmetic< T >::value||detail::is_complex< T >::value) &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value &&std::is_convertible_v< V, T >), T > | inclusive_scan_over_group (Group g, V x, BinaryOperation binary_op, T init) |
template<typename Group , typename V , class BinaryOperation , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic_or_complex< V >::value &&detail::is_vector_arithmetic_or_complex< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), T > | inclusive_scan_over_group (Group g, V x, BinaryOperation binary_op, T init) |
template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation , typename T > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< InPtr > &&detail::is_pointer_v< OutPtr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< OutPtr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< T, BinaryOperation >::value), OutPtr > | joint_inclusive_scan (Group g, InPtr first, InPtr last, OutPtr result, BinaryOperation binary_op, T init) |
template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation > | |
std::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer_v< InPtr > &&detail::is_pointer_v< OutPtr > &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_native_op< typename detail::remove_pointer< OutPtr >::type, BinaryOperation >::value &&detail::is_plus_or_multiplies_if_complex< typename detail::remove_pointer< OutPtr >::type, BinaryOperation >::value), OutPtr > | joint_inclusive_scan (Group g, InPtr first, InPtr last, OutPtr result, BinaryOperation binary_op) |
template<typename Group > | |
std::enable_if_t< is_group_v< Group > > | group_barrier (Group G, memory_scope FenceScope=Group::fence_scope) |
template<backend Backend, int D, typename A > | |
std::enable_if_t< Backend==backend::ext_oneapi_level_zero, image< D, A > > | make_image (const backend_input_t< Backend, image< D, A >> &BackendObject, const context &TargetContext, event AvailableEvent={}) |
template<typename KernelName > | |
kernel_id | get_kernel_id () |
template<bundle_state State> | |
kernel_bundle (kernel_bundle< State > &&) -> kernel_bundle< State > | |
std::vector< kernel_id > | get_kernel_ids () |
template<bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs) |
A kernel bundle in state State which contains all of the kernels in the application which are compatible with at least one of the devices in Devs. More... | |
template<bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx) |
template<bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs) |
template<bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, const std::vector< kernel_id > &KernelIDs) |
template<typename KernelName , bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx) |
template<typename KernelName , bundle_state State> | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs) |
template<bundle_state State, typename SelectorT > | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, SelectorT Selector) |
A kernel bundle in state State which contains all of the device images for which the selector returns true. More... | |
template<bundle_state State, typename SelectorT > | |
kernel_bundle< State > | get_kernel_bundle (const context &Ctx, SelectorT Selector) |
template<bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs) |
template<bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs) |
template<bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx) |
template<bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx, const std::vector< kernel_id > &KernelIDs) |
template<typename KernelName , bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx) |
template<typename KernelName , bundle_state State> | |
bool | has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs) |
bool | is_compatible (const std::vector< kernel_id > &KernelIDs, const device &Dev) |
template<typename KernelName > | |
bool | is_compatible (const device &Dev) |
template<sycl::bundle_state State> | |
sycl::kernel_bundle< State > | join (const std::vector< sycl::kernel_bundle< State >> &Bundles) |
kernel_bundle< bundle_state::object > | compile (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={}) |
kernel_bundle< bundle_state::object > | compile (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | link (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const std::vector< device > &Devs, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | link (const kernel_bundle< bundle_state::object > &ObjectBundle, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | link (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | link (const kernel_bundle< bundle_state::object > &ObjectBundle, const std::vector< device > &Devs, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | build (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={}) |
kernel_bundle< bundle_state::executable > | build (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={}) |
class | __SYCL_TYPE (kernel_handler) kernel_handler |
Reading the value of a specialization constant. More... | |
template<typename ElementType , access::address_space Space, access::decorated DecorateAddress = access::decorated::legacy> | |
class | __SYCL_TYPE (multi_ptr) multi_ptr |
Provides constructors for address space qualified and non address space qualified pointers to allow interoperability between plain C++ and OpenCL C. More... | |
template<access::address_space Space, access::decorated DecorateAddress> | |
class | __SYCL_TYPE (multi_ptr) multi_ptr< const void |
Specialization of multi_ptr for const void. More... | |
multi_ptr () | |
multi_ptr (const multi_ptr &)=default | |
multi_ptr (multi_ptr &&)=default | |
multi_ptr (typename multi_ptr< const void, Space, access::decorated::yes >::pointer ptr) | |
multi_ptr (std::nullptr_t) | |
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && (Space == access::address_space::global_space || Space == access::address_space::generic_space || Space == access::address_space::ext_intel_global_device_space)>> | |
multi_ptr (accessor< ElementType, Dimensions, Mode, target::device, isPlaceholder, PropertyListT > Accessor) | |
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && Space == access::address_space::local_space>> | |
__SYCL2020_DEPRECATED ("multi_ptr construction using target::local specialized " "accessor is deprecated since SYCL 2020") multi_ptr(accessor< ElementType | |
PropertyListT int access::address_space multi_ptr & | operator= (multi_ptr &&)=default |
multi_ptr & | operator= (std::nullptr_t) |
pointer | get () const |
__SYCL2020_DEPRECATED ("Conversion to pointer type is deprecated since SYCL " "2020. Please use get() instead.") operator pointer() const | |
template<typename ElementType , typename = typename std::enable_if_t<std::is_const_v<ElementType>>> | |
operator multi_ptr< ElementType, Space, DecorateAddress > () const | |
template<access::address_space GlobalSpace = access::address_space::global_space, access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && GlobalSpace == access::address_space::global_space && (Space == access::address_space::ext_intel_global_device_space || Space == access::address_space::ext_intel_global_host_space)>> | |
operator multi_ptr< const void, GlobalSpace, DecorateAddress > () const | |
template<typename ElementType > | |
operator multi_ptr< ElementType, Space, DecorateAddress > () const | |
template<access::address_space GlobalSpace = access::address_space::global_space, access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && GlobalSpace == access::address_space::global_space && (Space == access::address_space::ext_intel_global_device_space || Space == access::address_space::ext_intel_global_host_space)>> | |
operator multi_ptr< void, GlobalSpace, DecorateAddress > () const | |
template<typename DataT , int Dimensions> | |
class __SYCL_EBO __SYCL_SPECIAL_CLASS | __SYCL_TYPE (local_accessor) local_accessor |
template<typename T , typename AllocatorT , typename BinaryOperation > | |
auto | reduction (buffer< T, 1, AllocatorT > Var, handler &CGH, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the given buffer Var , handler CGH , reduction operation Combiner , and optional reduction properties. More... | |
template<typename T , typename BinaryOperation > | |
auto | reduction (T *Var, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the reduction variable referenced by the given USM pointer Var , handler CGH , reduction operation Combiner , and optional reduction properties. More... | |
template<typename T , typename AllocatorT , typename BinaryOperation > | |
auto | reduction (buffer< T, 1, AllocatorT > Var, handler &CGH, const T &Identity, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the given buffer Var , handler CGH , reduction identity value Identity , reduction operation Combiner , and optional reduction properties. More... | |
template<typename T , typename BinaryOperation > | |
auto | reduction (T *Var, const T &Identity, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the reduction variable referenced by the given USM pointer Var , reduction identity value Identity , binary operation Combiner , and optional reduction properties. More... | |
template<typename T , size_t Extent, typename BinaryOperation , typename = std::enable_if_t<Extent != dynamic_extent>> | |
auto | reduction (span< T, Extent > Span, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the reduction variable referenced by the given sycl::span Span , reduction operation Combiner , and optional reduction properties. More... | |
template<typename T , size_t Extent, typename BinaryOperation , typename = std::enable_if_t<Extent != dynamic_extent>> | |
auto | reduction (span< T, Extent > Span, const T &Identity, BinaryOperation Combiner, const property_list &PropList={}) |
Constructs a reduction object using the reduction variable referenced by the given sycl::span Span , reduction identity value Identity , reduction operation Combiner , and optional reduction properties. More... | |
class __SYCL_SPECIAL_CLASS | __SYCL_TYPE (sampler) sampler |
Encapsulates a configuration for sampling an image accessor. More... | |
template<typename T > | |
class | __SYCL_TYPE (specialization_id) specialization_id |
Declaring a specialization constant. More... | |
__precision_manipulator__ | setprecision (int Precision) |
__width_manipulator__ | setw (int Width) |
template<typename T > | |
class __SYCL_SPECIAL_CLASS __SYCL_TYPE(stream) stream std::enable_if_t< std::is_same_v< T, std::byte >, const stream & > | operator<< (const stream &, const T &) |
A buffered output stream that allows outputting the values of built-in, vector and SYCL types to the console. More... | |
const stream & | operator<< (const stream &Out, const char C) |
const stream & | operator<< (const stream &Out, const char *Str) |
const stream & | operator<< (const stream &Out, const bool &RHS) |
template<typename ValueType > | |
std::enable_if_t< std::is_integral_v< ValueType >, const stream & > | operator<< (const stream &Out, const ValueType &RHS) |
const stream & | operator<< (const stream &Out, const float &RHS) |
const stream & | operator<< (const stream &Out, const double &RHS) |
const stream & | operator<< (const stream &Out, const half &RHS) |
const stream & | operator<< (const stream &Out, const ext::oneapi::bfloat16 &RHS) |
template<typename ElementType , access::address_space Space, access::decorated IsDecorated> | |
const stream & | operator<< (const stream &Out, const multi_ptr< ElementType, Space, IsDecorated > &RHS) |
template<typename T > | |
const stream & | operator<< (const stream &Out, const T *RHS) |
const stream & | operator<< (const stream &Out, const __precision_manipulator__ &RHS) |
const stream & | operator<< (const stream &Out, const __width_manipulator__ &RHS) |
const stream & | operator<< (const stream &Out, const stream_manipulator RHS) |
template<typename T , int VectorLength> | |
const stream & | operator<< (const stream &Out, const vec< T, VectorLength > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const id< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const range< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const item< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const nd_range< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const nd_item< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const group< Dimensions > &RHS) |
template<int Dimensions> | |
const stream & | operator<< (const stream &Out, const h_item< Dimensions > &RHS) |
template<typename T , typename RT = detail::EnableIfSwizzleVec<T>> | |
const stream & | operator<< (const stream &Out, const T &RHS) |
template<class _Tp , size_t _Extent> | |
_SYCL_SPAN_INLINE_VISIBILITY auto | as_bytes (span< _Tp, _Extent > __s) noexcept -> decltype(__s.__as_bytes()) |
template<class _Tp , size_t _Extent> | |
_SYCL_SPAN_INLINE_VISIBILITY auto | as_writable_bytes (span< _Tp, _Extent > __s) noexcept -> std::enable_if_t<!std::is_const_v< _Tp >, decltype(__s.__as_writable_bytes())> |
template<class _Tp , size_t _Sz> | |
span (_Tp(&)[_Sz]) -> span< _Tp, _Sz > | |
template<class _Tp , size_t _Sz> | |
span (std::array< _Tp, _Sz > &) -> span< _Tp, _Sz > | |
template<class _Tp , size_t _Sz> | |
span (const std::array< _Tp, _Sz > &) -> span< const _Tp, _Sz > | |
template<class _Container > | |
span (_Container &) -> span< typename _Container::value_type > | |
template<class _Container > | |
span (const _Container &) -> span< const typename _Container::value_type > | |
usm::alloc | get_pointer_type (const void *ptr, const context &ctxt) |
Query the allocation type from a USM pointer. More... | |
device | get_pointer_device (const void *ptr, const context &ctxt) |
Queries the device against which the pointer was allocated Throws an invalid_object_error if ptr is a host allocation. More... | |
void * | malloc_device (size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_device (size_t size, const device &dev, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_device (size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_device (size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_device (size_t alignment, size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_device (size_t alignment, size_t size, const device &dev, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_device (size_t alignment, size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_device (size_t alignment, size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void | free (void *ptr, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void | free (void *ptr, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_host (size_t size, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_host (size_t size, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_host (size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_host (size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_shared (size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_shared (size_t size, const device &dev, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_shared (size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc_shared (size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_host (size_t alignment, size_t size, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_host (size_t alignment, size_t size, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_host (size_t alignment, size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_host (size_t alignment, size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_shared (size_t alignment, size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_shared (size_t alignment, size_t size, const device &dev, const context &ctxt, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_shared (size_t alignment, size_t size, const queue &q, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc_shared (size_t alignment, size_t size, const queue &q, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc (size_t size, const device &dev, const context &ctxt, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc (size_t size, const device &dev, const context &ctxt, usm::alloc kind, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc (size_t size, const queue &q, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | malloc (size_t size, const queue &q, usm::alloc kind, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc (size_t alignment, size_t size, const device &dev, const context &ctxt, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc (size_t alignment, size_t size, const device &dev, const context &ctxt, usm::alloc kind, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc (size_t alignment, size_t size, const queue &q, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current()) |
void * | aligned_alloc (size_t alignment, size_t size, const queue &q, usm::alloc kind, const property_list &propList, const detail::code_location &CodeLoc=detail::code_location::current()) |
size_t | is_not_power_of_two (size_t Alignment) |
BUILTIN_COMMON (ONE_ARG, degrees, [](auto x) -> decltype(x) { return(180/M_PI) *x;}) BUILTIN_COMMON(ONE_ARG | |
BUILTIN_COMMON (ONE_ARG, sign, [](auto x) -> decltype(x) { using T=decltype(x);if(std::isnan(x)) return T(0.0);if(x > 0) return T(1.0);if(x< 0) return T(-1.0);return x;}) BUILTIN_COMMON(THREE_ARGS | |
BUILTIN_COMMON (TWO_ARGS, step, [](auto x, auto y) -> decltype(x) { return y< x ? 0.0 :1.0;}) BUILTIN_COMMON(THREE_ARGS | |
BUILTIN_COMMON (TWO_ARGS, max, [](auto x, auto y) -> decltype(x) { return(x< y ? y :x);}) BUILTIN_COMMON(TWO_ARGS | |
template<typename T > | |
static T | cross_host_impl (T p0, T p1) |
template<typename T0 , typename T1 > | |
static auto | dot_host_impl (T0 x, T1 y) |
template<typename T > | |
static auto | length_host_impl (T x) |
template<typename T > | |
static auto | fast_length_host_impl (T x) |
template<typename T0 , typename T1 > | |
static auto | distance_host_impl (T0 x, T1 y) |
template<typename T0 , typename T1 > | |
static auto | fast_distance_host_impl (T0 x, T1 y) |
template<typename T > | |
static auto | normalize_host_impl (T x) |
template<typename T > | |
static auto | fast_normalize_host_impl (T x) |
BUILTIN_GENINT (ONE_ARG, abs, [](auto x) -> decltype(x) { if constexpr(std::is_signed_v< decltype(x)>) { return std::abs(x);} else { return x;} }) BUILTIN_GENINT_SU(TWO_ARGS | |
return std::max(x, y) - std | BUILTIN_GENINT_SU (TWO_ARGS, add_sat, [](auto x, auto y) -> decltype(x) { using T=decltype(x);if constexpr(std::is_signed_v< T >) { if(x > 0 &&y > 0) return(x<(std::numeric_limits< T >::max() - y) ?(x+y) :std::numeric_limits< T >::max());if(x< 0 &&y< 0) return(x >(std::numeric_limits< T >::min() - y) ?(x+y) :std::numeric_limits< T >::min());return x+y;} else { return(x<(std::numeric_limits< T >::max() - y) ? x+y :std::numeric_limits< T >::max());} }) BUILTIN_GENINT_SU(TWO_ARGS |
return (x >> one)+(y >> one)+((y &x) &one) | |
BUILTIN_GENINT_SU (TWO_ARGS, rhadd, [](auto x, auto y) -> decltype(x) { const decltype(x) one=1;return(x >> one)+(y >> one)+((y|x) &one);}) BUILTIN_GENINT_SU(THREE_ARGS | |
BUILTIN_GENINT_SU (THREE_ARGS, mad_sat, [](auto a, auto b, auto c) -> decltype(a) { using T=decltype(a);if constexpr(std::is_signed_v< T >) { if constexpr(sizeof(T)==8) { bool neg_prod=(a< 0) ^(b< 0);T mulhi=__s_long_mul_hi(a, b);if(!neg_prod &&mulhi !=0) return std::numeric_limits< T >::max();if(neg_prod &&mulhi !=-1) return std::numeric_limits< T >::min();return sycl::add_sat(T(a *b), c);} else { using UPT=sycl::detail::make_larger_t< T >;UPT mul=UPT(a) *UPT(b);UPT res=mul+UPT(c);const UPT max=std::numeric_limits< T >::max();const UPT min=std::numeric_limits< T >::min();res=std::min(std::max(res, min), max);return T(res);} } else { if constexpr(sizeof(T)==8) { T mulhi=__u_long_mul_hi(a, b);if(mulhi !=0) return std::numeric_limits< T >::max();return sycl::add_sat(T(a *b), c);} else { using UPT=sycl::detail::make_larger_t< T >;UPT mul=UPT(a) *UPT(b);const UPT min=std::numeric_limits< T >::min();const UPT max=std::numeric_limits< T >::max();mul=std::min(std::max(mul, min), max);return sycl::add_sat(T(mul), c);} } }) BUILTIN_GENINT_SU(TWO_ARGS | |
constexpr | if (sizeof(T)==8) |
return (mul >>(sizeof(T) *8)) | |
BUILTIN_GENINT_SU (TWO_ARGS, sub_sat, [](auto x, auto y) -> decltype(x) { using T=decltype(x);if constexpr(std::is_signed_v< T >) { using UT=std::make_unsigned_t< T >;T result=UT(x) - UT(y);if(((x< 0) ^(y< 0)) &&((x< 0) ^(result< 0))) result=result< 0 ? std::numeric_limits< T >::max() :std::numeric_limits< T >::min();return result;} else { return(y<(x - std::numeric_limits< T >::min())) ?(x - y) :std::numeric_limits< T >::min();} }) BUILTIN_GENINT_SU(TWO_ARGS | |
BUILTIN_GENINT_SU (TWO_ARGS, min, [](auto x, auto y) -> decltype(x) { return y< x ? y :x;}) BUILTIN_GENINT_SU(THREE_ARGS | |
template<typename T > | |
static constexpr T | __clz_impl (T x, T m, T n=0) |
template<typename T > | |
static constexpr T | __clz (T x) |
template<typename T > | |
static constexpr T | __ctz_impl (T x, T m, T n=0) |
template<typename T > | |
static constexpr T | __ctz (T x) |
BUILTIN_GENINT (TWO_ARGS, rotate, [](auto x, auto n) -> decltype(x) { using T=decltype(x);using UT=std::make_unsigned_t< T >;constexpr UT size=sizeof(x) *8;UT xu=UT(x);UT nu=UT(n) &(size - 1);return(xu<< nu)|(xu >>(size - nu));}) template< typename T > static inline const expr T __popcount_impl(T x | |
BUILTIN_GENF_CUSTOM (ONE_ARG, acospi, [](auto x) -> decltype(x) { return std::acos(x)/M_PI;}) BUILTIN_GENF_CUSTOM(ONE_ARG | |
BUILTIN_GENF_CUSTOM (ONE_ARG, atanpi, [](auto x) -> decltype(x) { return std::atan(x)/M_PI;}) BUILTIN_GENF_CUSTOM(TWO_ARGS | |
BUILTIN_GENF_CUSTOM (ONE_ARG, cospi, [](auto x) -> decltype(x) { return std::sin(M_PI *(0.5 - x));}) BUILTIN_GENF_CUSTOM(ONE_ARG | |
BUILTIN_GENF_CUSTOM (THREE_ARGS, mad, [](auto x, auto y, auto z) -> decltype(x) { return(x *y)+z;}) BUILTIN_GENF_CUSTOM(TWO_ARGS | |
if (std::fabs(y) > std::fabs(x)) return y | |
BUILTIN_GENF_CUSTOM (TWO_ARGS, minmag, [](auto x, auto y) -> decltype(x) { if(std::fabs(x)< std::fabs(y)) return x;if(std::fabs(y)< std::fabs(x)) return y;return std::fmin(x, y);}) BUILTIN_GENF_CUSTOM(TWO_ARGS | |
return(x >=T(0)) ? T(std | BUILTIN_GENF_CUSTOM (ONE_ARG, rsqrt, [](auto x) -> decltype(x) { return decltype(x){1.0}/std::sqrt(x);}) BUILTIN_GENF_CUSTOM(ONE_ARG |
BUILTIN_GENF_CUSTOM (ONE_ARG, tanpi, [](auto x) -> decltype(x) { double y=x - std::floor(x);return 1.0/std::tan((0.5 - y) *M_PI);}) BUILTIN_GENF_CUSTOM(TWO_ARGS | |
template<typename T > | |
static auto | process_arg_for_macos (T x) |
REL_BUILTIN_CUSTOM (TWO_ARGS, isequal,([](auto x, auto y) { return x==y;})) REL_BUILTIN_CUSTOM(TWO_ARGS | |
REL_BUILTIN_CUSTOM (TWO_ARGS, isgreater,([](auto x, auto y) { return x > y;})) REL_BUILTIN_CUSTOM(TWO_ARGS | |
REL_BUILTIN_CUSTOM (TWO_ARGS, isless,([](auto x, auto y) { return x< y;})) REL_BUILTIN_CUSTOM(TWO_ARGS | |
REL_BUILTIN_CUSTOM (TWO_ARGS, islessgreater,([](auto x, auto y) { return x< y||x > y;})) REL_BUILTIN_CUSTOM(TWO_ARGS | |
namespace | __SYCL2020_DEPRECATED ("use 'ext::oneapi' instead") ONEAPI |
namespace | __SYCL2020_DEPRECATED ("use 'ext::intel::experimental' instead") INTEL |
void * | malloc (size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &PropList, const detail::code_location &CodeLoc) |
void * | malloc (size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const detail::code_location &CodeLoc) |
void * | malloc (size_t Size, const queue &Q, alloc Kind, const detail::code_location &CodeLoc) |
void * | malloc (size_t Size, const queue &Q, alloc Kind, const property_list &PropList, const detail::code_location &CodeLoc) |
void * | aligned_alloc (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const detail::code_location &CodeLoc) |
void * | aligned_alloc (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &PropList, const detail::code_location &CodeLoc) |
void * | aligned_alloc (size_t Alignment, size_t Size, const queue &Q, alloc Kind, const detail::code_location &CodeLoc) |
void * | aligned_alloc (size_t Alignment, size_t Size, const queue &Q, alloc Kind, const property_list &PropList, const detail::code_location &CodeLoc) |
static void | prepare_for_usm_device_copy (const void *Ptr, size_t Size, const context &Ctxt) |
static void | release_from_usm_device_copy (const void *Ptr, const context &Ctxt) |
template std::vector< device > | device::create_sub_devices< info::partition_property::partition_equally > (size_t ComputeUnits) const |
template std::vector< device > | device::create_sub_devices< info::partition_property::partition_by_counts > (const std::vector< size_t > &Counts) const |
template std::vector< device > | device::create_sub_devices< info::partition_property::partition_by_affinity_domain > (info::partition_affinity_domain AffinityDomain) const |
template std::vector< device > | device::create_sub_devices< info::partition_property::ext_intel_partition_by_cslice > () const |
template<> | |
device | device::get_info_impl< info::device::parent_device > () const |
template<> | |
std::vector< sycl::aspect > | device::get_info_impl< info::device::aspects > () const |
template<> | |
bool | device::get_info_impl< info::device::image_support > () const |
static void | traceDeviceSelector (const std::string &DeviceType) |
default_selector_v Devices of different kinds are prioritized in the following order: More... | |
static void | addArgsForGlobalAccessor (detail::Requirement *AccImpl, size_t Index, size_t &IndexShift, int Size, bool IsKernelCreatedFromSource, size_t GlobalSize, std::vector< detail::ArgDesc > &Args, bool isESIMD) |
static bool | checkContextSupports (const std::shared_ptr< detail::context_impl > &ContextImpl, sycl::detail::pi::PiContextInfo InfoQuery) |
template uint32_t | kernel::get_info< info::kernel_device_specific::max_sub_group_size > (const device &, const sycl::range< 3 > &) const |
template ext::oneapi::experimental::info::kernel_queue_specific::max_num_work_group_sync::return_type | kernel::ext_oneapi_get_info< ext::oneapi::experimental::info::kernel_queue_specific::max_num_work_group_sync > (const queue &Queue) const |
static event | getBarrierEventForInorderQueueHelper (const detail::QueueImplPtr QueueImpl) |
static size_t | CheckMaxStatementSize (const size_t &MaxStatementSize) |
Variables | |
constexpr mode_tag_t< access_mode::read > | read_only {} |
constexpr mode_tag_t< access_mode::read_write > | read_write {} |
constexpr mode_tag_t< access_mode::write > | write_only {} |
constexpr mode_target_tag_t< access_mode::read, target::constant_buffer > | read_constant {} |
constexpr mode_target_tag_t< access_mode::read, target::host_task > | read_only_host_task |
constexpr mode_target_tag_t< access_mode::read_write, target::host_task > | read_write_host_task |
constexpr mode_target_tag_t< access_mode::write, target::host_task > | write_only_host_task |
class __SYCL_EBO __SYCL_SPECIAL_CLASS | Dimensions |
class __SYCL_EBO __SYCL_SPECIAL_CLASS | AccessMode |
class __SYCL_EBO __SYCL_SPECIAL_CLASS | IsPlaceholder |
template<typename T > | |
constexpr bool | is_device_copyable_v = is_device_copyable<T>::value |
template<class T > | |
constexpr bool | is_group_v = is_group<T>::value |
template<aspect Aspect> | |
constexpr bool | all_devices_have_v = all_devices_have<Aspect>::value |
template<aspect Aspect> | |
constexpr bool | any_device_has_v = any_device_has<Aspect>::value |
template<typename BinaryOperation , typename AccumulatorT > | |
constexpr bool | has_known_identity_v |
template<typename BinaryOperation , typename AccumulatorT > | |
constexpr AccumulatorT | known_identity_v |
constexpr auto | memory_scope_work_item = memory_scope::work_item |
constexpr auto | memory_scope_sub_group = memory_scope::sub_group |
constexpr auto | memory_scope_work_group = memory_scope::work_group |
constexpr auto | memory_scope_device = memory_scope::device |
constexpr auto | memory_scope_system = memory_scope::system |
constexpr auto | memory_order_relaxed = memory_order::relaxed |
constexpr auto | memory_order_acquire = memory_order::acquire |
constexpr auto | memory_order_release = memory_order::release |
constexpr auto | memory_order_acq_rel = memory_order::acq_rel |
constexpr auto | memory_order_seq_cst = memory_order::seq_cst |
static constexpr bool | is_decorated |
static constexpr access::address_space | address_space = Space |
Mode | |
isPlaceholder | |
PropertyListT | Accessor |
PropertyListT int access::address_space | RelaySpace = Space |
constexpr property::no_init | no_init |
constexpr property::noinit | noinit |
template<typename propertyT > | |
constexpr bool | is_property_v = is_property<propertyT>::value |
template<typename propertyT , typename syclObjectT > | |
constexpr bool | is_property_of_v |
constexpr stream_manipulator | dec = stream_manipulator::dec |
constexpr stream_manipulator | hex = stream_manipulator::hex |
constexpr stream_manipulator | oct = stream_manipulator::oct |
constexpr stream_manipulator | noshowbase = stream_manipulator::noshowbase |
constexpr stream_manipulator | showbase = stream_manipulator::showbase |
constexpr stream_manipulator | noshowpos = stream_manipulator::noshowpos |
constexpr stream_manipulator | showpos = stream_manipulator::showpos |
constexpr stream_manipulator | endl = stream_manipulator::endl |
constexpr stream_manipulator | flush = stream_manipulator::flush |
constexpr stream_manipulator | fixed = stream_manipulator::fixed |
constexpr stream_manipulator | scientific = stream_manipulator::scientific |
constexpr stream_manipulator | hexfloat = stream_manipulator::hexfloat |
constexpr stream_manipulator | defaultfloat = stream_manipulator::defaultfloat |
constexpr size_t | dynamic_extent = SIZE_MAX |
radians | |
autodecltype(x) | x { return (M_PI / 180) * x |
mix | |
auto auto | y { return (y < x ? y : x) |
auto auto autodecltype(x) | z |
smoothstep | |
auto | t = sycl::clamp((z - x) / (y - x), T{0}, T{1}) |
min | |
abs_diff | |
return std::max(x, y) - std | hadd |
mad_hi | |
mul_hi | |
auto | a |
auto autodecltype(a) | b |
else | |
UPT | a_s = a |
UPT | b_s = b |
UPT | mul = a_s * b_s |
max | |
clamp | |
asinpi | |
atan2pi | |
exp10 | |
maxmag | |
powr | |
return(x >=T(0)) ? T(std | sinpi |
nextafter | |
isnotequal | |
isgreaterequal | |
islessequal | |
isordered | |
constexpr size_t | MaxNumAdditionalArgs = 13 |
static constexpr size_t | MAX_STATEMENT_SIZE |
|
strong |
Enumerator | |
---|---|
automatic | |
rte | |
rtz | |
rtp | |
rtn |
Definition at line 68 of file vector_convert.hpp.
|
constexpr |
Definition at line 72 of file device_aspect_traits.hpp.
|
constexpr |
Definition at line 74 of file device_aspect_traits.hpp.