DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl Namespace Reference

Namespaces

 access
 
 detail
 
 ext
 
 half_precision
 
 info
 
 native
 
 opencl
 
 property
 
 usm
 

Classes

class  __precision_manipulator__
 
class  __width_manipulator__
 
class  accelerator_selector
 Selects any SYCL accelerator device. More...
 
class  accessor
 Buffer accessor. More...
 
class  accessor< DataT, Dimensions, AccessMode, access::target::host_image, IsPlaceholder >
 Host image accessor. More...
 
class  accessor< DataT, Dimensions, AccessMode, access::target::image, IsPlaceholder >
 Image accessors. More...
 
class  accessor< DataT, Dimensions, AccessMode, access::target::image_array, IsPlaceholder >
 Image array accessor. More...
 
class  accessor< DataT, Dimensions, AccessMode, access::target::local, IsPlaceholder >
 Local accessor. More...
 
class  atomic_ref
 
class  backend_traits
 
class  buffer
 Defines a shared array that can be used by kernels in queues. More...
 
class  context
 The context class represents a SYCL context on which kernel functions may be executed. More...
 
class  cpu_selector
 Selects any SYCL CPU device. More...
 
class  default_selector
 The default selector chooses the first available SYCL device. More...
 
class  device
 The SYCL device class encapsulates a single SYCL device on which kernels may be executed. More...
 
class  device_event
 Encapsulates a single SYCL device event which is available only within SYCL kernel functions and can be used to wait for asynchronous operations within a kernel function to complete. More...
 
class  device_image
 Objects of the class represents an instance of an image in a specific state. More...
 
class  device_selector
 The device_selector class provides ability to choose the best SYCL device based on heuristics specified by the user. More...
 
struct  elem
 
class  event
 An event object can be used to synchronize memory transfers, enqueues of kernels and signaling barriers. More...
 
class  exception
 
class  exception_list
 A list of asynchronous exceptions. More...
 
class  gpu_selector
 Selects any SYCL GPU device. More...
 
class  group
 Encapsulates all functionality required to represent a particular work-group within a parallel execution. More...
 
class  h_item
 Identifies an instance of a group::parallel_for_work_item function object executing at each point in a local range passed to a parallel_for_work_item call or to the corresponding parallel_for_work_group call. More...
 
class  handler
 Command group handler class. More...
 
struct  has_known_identity
 
class  host_accessor
 
class  host_selector
 Selects SYCL host device. More...
 
class  id
 A unique identifier of an item in an index space. More...
 
class  image
 Defines a shared image data. More...
 
class  image_accessor
 
class  interop_handle
 
struct  is_device_copyable
 is_device_copyable is a user specializable class template to indicate that a type T is device copyable, which means that SYCL implementation may copy objects of the type T between host and device or between two devices. More...
 
struct  is_device_copyable< const ext::oneapi::experimental::properties< PropertiesT >, std::enable_if_t<!std::is_trivially_copyable< const ext::oneapi::experimental::properties< PropertiesT > >::value > >
 
struct  is_device_copyable< ext::oneapi::experimental::properties< PropertiesT >, std::enable_if_t<!std::is_trivially_copyable< ext::oneapi::experimental::properties< PropertiesT > >::value > >
 
struct  is_device_copyable< std::tuple< T, Ts... > >
 
struct  is_device_copyable< std::tuple<> >
 
struct  is_device_copyable< sycl::marray< T, N >, std::enable_if_t< is_device_copyable< T >::value &&!std::is_trivially_copyable< T >::value > >
 
struct  is_device_copyable< T, std::enable_if_t< std::is_trivially_copyable< T >::value > >
 
struct  is_property
 
struct  is_property< ext::intel::experimental::property::usm::buffer_location >
 
struct  is_property< ext::intel::property::buffer_location >
 
struct  is_property< ext::oneapi::cuda::property::context::use_primary_context >
 
struct  is_property< ext::oneapi::cuda::property::queue::use_default_stream >
 
struct  is_property< ext::oneapi::property::buffer::use_pinned_host_memory >
 
struct  is_property< ext::oneapi::property::no_alias >
 
struct  is_property< ext::oneapi::property::no_offset >
 
struct  is_property< ext::oneapi::property::queue::discard_events >
 
struct  is_property< ext::oneapi::property::usm::device_read_only >
 
struct  is_property< property::buffer::context_bound >
 
struct  is_property< property::buffer::detail::buffer_location >
 
struct  is_property< property::buffer::mem_channel >
 
struct  is_property< property::buffer::use_host_ptr >
 
struct  is_property< property::buffer::use_mutex >
 
struct  is_property< property::context::cuda::use_primary_context >
 
struct  is_property< property::image::context_bound >
 
struct  is_property< property::image::use_host_ptr >
 
struct  is_property< property::image::use_mutex >
 
struct  is_property< property::no_init >
 
struct  is_property< property::noinit >
 
struct  is_property< property::queue::cuda::use_default_stream >
 
struct  is_property< property::queue::enable_profiling >
 
struct  is_property< property::queue::in_order >
 
struct  is_property< property::reduction::initialize_to_identity >
 
struct  is_property_of
 
struct  is_property_of< ext::intel::property::buffer_location, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder, PropertyListT > >
 
struct  is_property_of< ext::oneapi::cuda::property::context::use_primary_context, context >
 
struct  is_property_of< ext::oneapi::cuda::property::queue::use_default_stream, queue >
 
struct  is_property_of< ext::oneapi::property::buffer::use_pinned_host_memory, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< ext::oneapi::property::no_alias, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder, PropertyListT > >
 
struct  is_property_of< ext::oneapi::property::no_offset, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder, PropertyListT > >
 
struct  is_property_of< ext::oneapi::property::queue::discard_events, queue >
 
struct  is_property_of< property::buffer::context_bound, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< property::buffer::detail::buffer_location, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< property::buffer::mem_channel, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< property::buffer::use_host_ptr, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< property::buffer::use_mutex, buffer< T, Dimensions, AllocatorT, void > >
 
struct  is_property_of< property::context::cuda::use_primary_context, context >
 
struct  is_property_of< property::image::context_bound, image< Dimensions, AllocatorT > >
 
struct  is_property_of< property::image::use_host_ptr, image< Dimensions, AllocatorT > >
 
struct  is_property_of< property::image::use_mutex, image< Dimensions, AllocatorT > >
 
struct  is_property_of< property::no_init, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder, PropertyListT > >
 
struct  is_property_of< property::no_init, host_accessor< DataT, Dimensions, AccessMode > >
 
struct  is_property_of< property::no_init, image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > >
 
struct  is_property_of< property::noinit, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder, PropertyListT > >
 
struct  is_property_of< property::noinit, host_accessor< DataT, Dimensions, AccessMode > >
 
struct  is_property_of< property::noinit, image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > >
 
struct  is_property_of< property::queue::cuda::use_default_stream, queue >
 
struct  is_property_of< property::queue::enable_profiling, queue >
 
struct  is_property_of< property::queue::in_order, queue >
 
class  item
 Identifies an instance of the function object executing at each point in a range. More...
 
class  kernel
 Provides an abstraction of a SYCL kernel. More...
 
class  kernel_bundle
 The kernel_bundle class represents collection of device images in a particular state. More...
 
class  kernel_handler
 Reading the value of a specialization constant. More...
 
class  kernel_id
 Objects of the class identify kernel is some kernel_bundle related APIs. More...
 
struct  known_identity
 
class  marray
 Provides a cross-patform math array class template that works on SYCL devices as well as in host C++ code. More...
 
struct  maximum
 
struct  maximum< void >
 
struct  minimum
 
struct  minimum< void >
 
struct  mode_tag_t
 
struct  mode_target_tag_t
 
class  multi_ptr
 Provides constructors for address space qualified and non address space qualified pointers to allow interoperability between plain C++ and OpenCL C. More...
 
class  multi_ptr< const void, Space >
 
class  multi_ptr< void, Space >
 
class  nd_item
 Identifies an instance of the function object executing at each point in an nd_range. More...
 
class  nd_range
 Defines the iteration domain of both the work-groups and the overall dispatch. More...
 
class  platform
 Encapsulates a SYCL platform on which kernels may be executed. More...
 
class  private_memory
 
class  property_list
 Objects of the property_list class are containers for the SYCL properties. More...
 
class  queue
 Encapsulates a single SYCL queue which schedules kernels on a SYCL device. More...
 
class  range
 Defines the iteration domain of either a single work-group in a parallel dispatch, or the overall dimensions of the dispatch. More...
 
class  sampler
 Encapsulates a configuration for sampling an image accessor. More...
 
class  specialization_id
 Declaring a specialization constant. More...
 
class  stream
 A buffered output stream that allows outputting the values of built-in, vector and SYCL types to the console. More...
 
class  usm_allocator
 
class  vec
 Provides a cross-patform vector class template that works efficiently on SYCL devices as well as in host C++ code. More...
 

Typedefs

using access_mode = access::mode
 
using instead = std::uint8_t
 
using schar = signed char
 
using uchar = unsigned char
 
using ushort = unsigned short
 
using uint = unsigned int
 
using ulong = unsigned long
 
using longlong = long long
 
using ulonglong = unsigned long long
 
using half = cl::sycl::detail::half_impl::half
 
using cl_bool = bool
 
using cl_char = std::int8_t
 
using cl_uchar = std::uint8_t
 
using cl_short = std::int16_t
 
using cl_ushort = std::uint16_t
 
using cl_int = std::int32_t
 
using cl_uint = std::uint32_t
 
using cl_long = std::int64_t
 
using cl_ulong = std::uint64_t
 
using cl_half = half
 
using cl_float = float
 
using cl_double = double
 
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 >
 
using buffer_allocator = detail::sycl_memory_object_allocator< char >
 
template<backend B>
using errc_for = typename backend_traits< B >::errc
 
using async_handler = std::function< void(cl::sycl::exception_list)>
 
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 >
 
template<typename T = void>
using logical_and = std::logical_and< T >
 
template<typename T = void>
using logical_or = std::logical_or< T >
 
using byte = unsigned char
 
using image_allocator = detail::aligned_allocator< byte >
 
template<class name , class dataT , int32_t min_capacity = 0>
using pipe = ext::intel::pipe< name, dataT, min_capacity >
 
template<typename ElementType >
using generic_ptr = multi_ptr< ElementType, access::address_space::generic_space >
 
template<typename ElementType >
using global_ptr = multi_ptr< ElementType, access::address_space::global_space >
 
template<typename ElementType >
using device_ptr = multi_ptr< ElementType, access::address_space::ext_intel_global_device_space >
 
template<typename ElementType >
using host_ptr = multi_ptr< ElementType, access::address_space::ext_intel_global_host_space >
 
template<typename ElementType >
using local_ptr = multi_ptr< ElementType, access::address_space::local_space >
 
template<typename ElementType >
using constant_ptr = multi_ptr< ElementType, access::address_space::constant_space >
 
template<typename ElementType >
using private_ptr = multi_ptr< ElementType, access::address_space::private_space >
 
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< cl::sycl::detail::context_impl >
 
using alloc = cl::sycl::usm::alloc
 

Enumerations

enum  aspect {
  aspect::host = 0, aspect::cpu = 1, aspect::gpu = 2, aspect::accelerator = 3,
  aspect::custom = 4, aspect::fp16 = 5, aspect::fp64 = 6, aspect::__SYCL2020_DEPRECATED =("use atomic64 instead") = 7,
  aspect::__SYCL2020_DEPRECATED =("use atomic64 instead") = 8, aspect::image = 9, aspect::online_compiler = 10, aspect::online_linker = 11,
  aspect::queue_profiling = 12, aspect::usm_device_allocations = 13, aspect::usm_host_allocations = 14, aspect::usm_shared_allocations = 15,
  aspect::usm_restricted_shared_allocations = 16, aspect::usm_system_allocations = 17, aspect::__SYCL2020_DEPRECATED, aspect::ext_intel_pci_address = 18,
  aspect::ext_intel_gpu_eu_count = 19, aspect::ext_intel_gpu_eu_simd_width = 20, aspect::ext_intel_gpu_slices = 21, aspect::ext_intel_gpu_subslices_per_slice = 22,
  aspect::ext_intel_gpu_eu_count_per_subslice = 23, aspect::ext_intel_max_mem_bandwidth = 24, aspect::ext_intel_mem_channel = 25, aspect::usm_atomic_host_allocations = 26,
  aspect::usm_atomic_shared_allocations = 27, aspect::atomic64 = 28, aspect::ext_intel_device_info_uuid = 29, aspect::ext_oneapi_srgb = 30,
  aspect::ext_oneapi_native_assert = 31, aspect::host_debuggable = 32, aspect::ext_intel_gpu_hw_threads_per_eu = 33, aspect::ext_oneapi_cuda_async_barrier = 34,
  aspect::ext_oneapi_bfloat16 = 35
}
 
enum  backend : char {
  backend::host = 0, backend::opencl = 1, backend::ext_oneapi_level_zero = 2, backend::__SYCL2020_DEPRECATED,
  backend::ext_oneapi_cuda = 3, backend::__SYCL2020_DEPRECATED =("use 'ext_oneapi_cuda' instead") = ext_oneapi_cuda, backend::all = 4, backend::ext_intel_esimd_emulator = 5,
  backend::__SYCL2020_DEPRECATED, backend::ext_oneapi_hip = 6, backend::__SYCL2020_DEPRECATED =("use 'ext_oneapi_hip' instead") = ext_oneapi_hip
}
 
enum  errc : unsigned int {
  errc::success = 0, errc::runtime = 1, errc::kernel = 2, errc::accessor = 3,
  errc::nd_range = 4, errc::event = 5, errc::kernel_argument = 6, errc::build = 7,
  errc::invalid = 8, errc::memory_allocation = 9, errc::platform = 10, errc::profiling = 11,
  errc::feature_not_supported = 12, errc::kernel_not_supported = 13, errc::backend_mismatch = 14
}
 
enum  image_channel_order : unsigned int {
  image_channel_order::a = 0, image_channel_order::r = 1, image_channel_order::rx = 2, image_channel_order::rg = 3,
  image_channel_order::rgx = 4, image_channel_order::ra = 5, image_channel_order::rgb = 6, image_channel_order::rgbx = 7,
  image_channel_order::rgba = 8, image_channel_order::argb = 9, image_channel_order::bgra = 10, image_channel_order::intensity = 11,
  image_channel_order::luminance = 12, image_channel_order::abgr = 13, image_channel_order::ext_oneapi_srgba = 14
}
 
enum  image_channel_type : unsigned int {
  image_channel_type::snorm_int8 = 0, image_channel_type::snorm_int16 = 1, image_channel_type::unorm_int8 = 2, image_channel_type::unorm_int16 = 3,
  image_channel_type::unorm_short_565 = 4, image_channel_type::unorm_short_555 = 5, image_channel_type::unorm_int_101010 = 6, image_channel_type::signed_int8 = 7,
  image_channel_type::signed_int16 = 8, image_channel_type::signed_int32 = 9, image_channel_type::unsigned_int8 = 10, image_channel_type::unsigned_int16 = 11,
  image_channel_type::unsigned_int32 = 12, image_channel_type::fp16 = 13, image_channel_type::fp32 = 14
}
 
enum  bundle_state : char { bundle_state::input = 0, bundle_state::object = 1, bundle_state::executable = 2 }
 
enum  memory_order : int {
  memory_order::relaxed = 0, memory_order::acquire = 1, memory_order::__consume_unsupported, memory_order::release = 3,
  memory_order::acq_rel = 4, memory_order::seq_cst = 5
}
 
enum  memory_scope : int {
  memory_scope::work_item = 0, memory_scope::sub_group = 1, memory_scope::work_group = 2, memory_scope::device = 3,
  memory_scope::system = 4
}
 
enum  addressing_mode : unsigned int {
  addressing_mode::mirrored_repeat = PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT, addressing_mode::repeat = PI_SAMPLER_ADDRESSING_MODE_REPEAT, addressing_mode::clamp_to_edge = PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE, addressing_mode::clamp = PI_SAMPLER_ADDRESSING_MODE_CLAMP,
  addressing_mode::none = PI_SAMPLER_ADDRESSING_MODE_NONE
}
 
enum  filtering_mode : unsigned int { filtering_mode::nearest = PI_SAMPLER_FILTER_MODE_NEAREST, filtering_mode::linear = PI_SAMPLER_FILTER_MODE_LINEAR }
 
enum  coordinate_normalization_mode : unsigned int { coordinate_normalization_mode::normalized = 1, coordinate_normalization_mode::unnormalized = 0 }
 
enum  stream_manipulator {
  stream_manipulator::dec = 0, stream_manipulator::hex = 1, stream_manipulator::oct = 2, stream_manipulator::noshowbase = 3,
  stream_manipulator::showbase = 4, stream_manipulator::noshowpos = 5, stream_manipulator::showpos = 6, stream_manipulator::endl = 7,
  stream_manipulator::flush = 8, stream_manipulator::fixed = 9, stream_manipulator::scientific = 10, stream_manipulator::hexfloat = 11,
  stream_manipulator::defaultfloat = 12
}
 
enum  rounding_mode {
  rounding_mode::automatic = 0, rounding_mode::rte = 1, rounding_mode::rtz = 2, rounding_mode::rtp = 3,
  rounding_mode::rtn = 4
}
 

Functions

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)
 
static 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, typename DataT , int Dimensions, typename AllocatorT , std::enable_if_t< BackendName==backend::opencl > * = nullptr>
 __SYCL_DEPRECATED ("get_native<backend::opencl, buffer>, which return type " "cl_mem is deprecated. According to SYCL 2020 spec, please define " "SYCL2020_CONFORMANT_APIS and use vector<cl_mem> instead.") auto get_native(const buffer< DataT
 
template<backend BackendName, typename DataT , int Dimensions, typename AllocatorT , std::enable_if_t< BackendName !=backend::opencl > * = nullptr>
auto get_native (const buffer< DataT, Dimensions, AllocatorT > &Obj) -> backend_return_t< BackendName, buffer< DataT, Dimensions, AllocatorT >>
 
template<>
 __SYCL_DEPRECATED ("get_native<backend::opencl, event>, which return type is " "cl_event is deprecated. According to SYCL 2020 spec, please define " "SYCL2020_CONFORMANT_APIS and use vector<cl_event> instead.") inline backend_return_t< backend
 
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< detail::InteropFeatureSupportMap< Backend >::MakePlatform==true, platform >::type make_platform (const typename backend_traits< Backend >::template input_type< platform > &BackendObject)
 
template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeDevice==true, device >::type make_device (const typename backend_traits< Backend >::template input_type< device > &BackendObject)
 
template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeContext==true, context >::type make_context (const typename backend_traits< Backend >::template input_type< context > &BackendObject, const async_handler &Handler={})
 
template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeQueue==true, queue >::type make_queue (const typename backend_traits< Backend >::template input_type< queue > &BackendObject, const context &TargetContext, bool KeepOwnership, const async_handler Handler={})
 
template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeQueue==true, queue >::type 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< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event >::type make_event (const typename backend_traits< Backend >::template input_type< event > &BackendObject, const context &TargetContext)
 
template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event >::type 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 = detail::default_buffer_allocator<T>>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeBuffer==true &&Backend !=backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > >::type make_buffer (const typename backend_traits< Backend >::template input_type< buffer< T, 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< detail::InteropFeatureSupportMap< Backend >::MakeKernelBundle==true, kernel_bundle< State > >::type 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 >
To bit_cast (const From &from) noexcept
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tacos (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tacosh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tacospi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tasin (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tasinh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tasinpi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tatan (T y_over_x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tatan2 (T y, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tatanh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tatanpi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tatan2pi (T y, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tcbrt (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tceil (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tcopysign (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tcos (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tcosh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tcospi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Terfc (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Terf (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Texp (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Texp2 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Texp10 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Texpm1 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfabs (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfdim (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfloor (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfma (T a, T b, T c) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfmax (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tfmax (T x, typename T::element_type y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfmin (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tfmin (T x, typename T::element_type y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tfmod (T x, T y) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genfloatptr< T2 >::value, Tfract (T x, T2 iptr) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genintptr< T2 >::value, Tfrexp (T x, T2 exp) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Thypot (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::change_base_type_t< T, int > ilogb (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_sgenfloat< T >::value, Tldexp (T x, int k) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tldexp (T x, int k) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_vgenfloat< T >::value &&detail::is_intn< T2 >::value, Tldexp (T x, T2 k) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tlgamma (T x) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genintptr< T2 >::value, Tlgamma_r (T x, T2 signp) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tlog (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tlog2 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tlog10 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tlog1p (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tlogb (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tmad (T a, T b, T c) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tmaxmag (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tminmag (T x, T y) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genfloatptr< T2 >::value, Tmodf (T x, T2 iptr) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_nan_type<T>::value, T>>
detail::nan_return_t< Tnan (T nancode) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tnextafter (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tpow (T x, T y) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genint< T2 >::value, Tpown (T x, T2 y) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tpowr (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tremainder (T x, T y) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genintptr< T2 >::value, Tremquo (T x, T y, T2 quo) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Trint (T x) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genint< T2 >::value, Trootn (T x, T2 y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tround (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Trsqrt (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tsin (T x) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat< T >::value &&detail::is_genfloatptr< T2 >::value, Tsincos (T x, T2 cosval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tsinh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tsinpi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Tsqrt (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< __FAST_MATH_GENFLOAT(T), Ttan (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Ttanh (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Ttanpi (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Ttgamma (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Ttrunc (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tclamp (T x, T minval, T maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tclamp (T x, typename T::element_type minval, typename T::element_type maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tdegrees (T radians) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tabs (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tmix (T x, T y, T a) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tmix (T x, T y, typename T::element_type a) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tradians (T degrees) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tstep (T edge, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tstep (typename T::element_type edge, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tsmoothstep (T edge0, T edge1, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgenfloat< T >::value, Tsmoothstep (typename T::element_type edge0, typename T::element_type edge1, T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tsign (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tabs (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, detail::make_unsigned_t< T > > abs (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tabs_diff (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, detail::make_unsigned_t< T > > abs_diff (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tadd_sat (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tadd_sat (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Thadd (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Thadd (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Trhadd (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Trhadd (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tclamp (T x, T minval, T maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tclamp (T x, T minval, T maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vigeninteger< T >::value, Tclamp (T x, typename T::element_type minval, typename T::element_type maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vugeninteger< T >::value, Tclamp (T x, typename T::element_type minval, typename T::element_type maxval) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_geninteger< T >::value, Tclz (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_geninteger< T >::value, Tctz (T x) __NOEXC
 
namespace __SYCL2020_DEPRECATED ("use 'ext::intel' instead") intel
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tmad_hi (T x, T y, T z) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tmad_hi (T x, T y, T z) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tmad_sat (T a, T b, T c) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tmad_sat (T a, T b, T c) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tmul_hi (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tmul_hi (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_geninteger< T >::value, Trotate (T v, T i) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger< T >::value, Tsub_sat (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger< T >::value, Tsub_sat (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger8bit< T >::value, detail::make_larger_t< T > > upsample (T hi, T lo) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_igeninteger8bit< T >::value &&detail::is_ugeninteger8bit< T2 >::value, detail::make_larger_t< T > > upsample (T hi, T2 lo) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger16bit< T >::value, detail::make_larger_t< T > > upsample (T hi, T lo) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_igeninteger16bit< T >::value &&detail::is_ugeninteger16bit< T2 >::value, detail::make_larger_t< T > > upsample (T hi, T2 lo) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger32bit< T >::value, detail::make_larger_t< T > > upsample (T hi, T lo) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_igeninteger32bit< T >::value &&detail::is_ugeninteger32bit< T2 >::value, detail::make_larger_t< T > > upsample (T hi, T2 lo) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_geninteger< T >::value, Tpopcount (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger32bit< T >::value, Tmad24 (T x, T y, T z) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger32bit< T >::value, Tmad24 (T x, T y, T z) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_igeninteger32bit< T >::value, Tmul24 (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_ugeninteger32bit< T >::value, Tmul24 (T x, T y) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gencross< T >::value, Tcross (T p0, T p1) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_sgenfloat< T >::value, Tdot (T p0, T p1) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgengeofloat< T >::value, float > dot (T p0, T p1) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgengeodouble< T >::value, double > dot (T p0, T p1) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vgengeohalf< T >::value, halfdot (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float distance (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double distance (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeohalf<T>::value, T>>
half distance (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float length (T p) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double length (T p) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeohalf<T>::value, T>>
half length (T p) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gengeofloat< T >::value, Tnormalize (T p) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gengeodouble< T >::value, Tnormalize (T p) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gengeohalf< T >::value, Tnormalize (T p) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float fast_distance (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double fast_distance (T p0, T p1) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float fast_length (T p) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double fast_length (T p) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gengeofloat< T >::value, Tfast_normalize (T p) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gengeodouble< T >::value, Tfast_normalize (T p) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisequal (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisnotequal (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisgreater (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisgreaterequal (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisless (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tislessequal (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tislessgreater (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisfinite (T x) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisinf (T x) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisnan (T x) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisnormal (T x) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisordered (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tisunordered (T x, T y) __NOEXC
 
template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t< Tsignbit (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_sigeninteger< T >::value, int > any (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vigeninteger< T >::value, int > any (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_sigeninteger< T >::value, int > all (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_vigeninteger< T >::value, int > all (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_gentype< T >::value, Tbitselect (T a, T b, T c) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_sgentype< T >::value, Tselect (T a, T b, bool c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_geninteger< T >::value &&detail::is_igeninteger< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_geninteger< T >::value &&detail::is_ugeninteger< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloatf< T >::value &&detail::is_genint< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloatf< T >::value &&detail::is_ugenint< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloatd< T >::value &&detail::is_igeninteger64bit< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloatd< T >::value &&detail::is_ugeninteger64bit< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloath< T >::value &&detail::is_igeninteger16bit< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloath< T >::value &&detail::is_ugeninteger16bit< T2 >::value, Tselect (T a, T b, T2 c) __NOEXC
 
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 >
 
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<int Dims>
group< Dims > this_group ()
 
template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_scalar_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Treduce_over_group (Group, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::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), Treduce_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Treduce_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename V , typename T , class BinaryOperation >
detail::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< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_if_complex< T, BinaryOperation >::value &&detail::is_plus_if_complex< V, BinaryOperation >::value), Treduce_over_group (Group g, V x, T init, BinaryOperation binary_op)
 
template<typename Group , typename V , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< V >::value &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), Treduce_over_group (Group g, V x, T init, BinaryOperation binary_op)
 
template<typename Group , typename Ptr , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< Ptr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< Ptr >::type >::value &&detail::is_plus_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 , typename Ptr , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< Ptr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< Ptr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_native_op< typename detail::remove_pointer< Ptr >::type, BinaryOperation >::value &&detail::is_plus_if_complex< typename detail::remove_pointer< Ptr >::type, BinaryOperation >::value &&detail::is_plus_if_complex< T, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), Tjoint_reduce (Group g, Ptr first, Ptr last, T init, BinaryOperation binary_op)
 
template<typename Group >
detail::enable_if_t< is_group_v< std::decay_t< Group > >, bool > any_of_group (Group, bool pred)
 
template<typename Group , typename T , class Predicate >
detail::enable_if_t< is_group_v< Group >, bool > any_of_group (Group g, T x, Predicate pred)
 
template<typename Group , typename Ptr , class Predicate >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< Ptr >::value), bool > joint_any_of (Group g, Ptr first, Ptr last, Predicate pred)
 
template<typename Group >
detail::enable_if_t< is_group_v< std::decay_t< Group > >, bool > all_of_group (Group, bool pred)
 
template<typename Group , typename T , class Predicate >
detail::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 >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< Ptr >::value), bool > joint_all_of (Group g, Ptr first, Ptr last, Predicate pred)
 
template<typename Group >
detail::enable_if_t< is_group_v< std::decay_t< Group > >, bool > none_of_group (Group, bool pred)
 
template<typename Group , typename T , class Predicate >
detail::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 >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< Ptr >::value), bool > joint_none_of (Group g, Ptr first, Ptr last, Predicate pred)
 
template<typename Group , typename T >
detail::enable_if_t<(std::is_same< std::decay_t< Group >, sub_group >::value &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tshift_group_left (Group, T x, typename Group::linear_id_type delta=1)
 
template<typename Group , typename T >
detail::enable_if_t<(std::is_same< std::decay_t< Group >, sub_group >::value &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tshift_group_right (Group, T x, typename Group::linear_id_type delta=1)
 
template<typename Group , typename T >
detail::enable_if_t<(std::is_same< std::decay_t< Group >, sub_group >::value &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tpermute_group_by_xor (Group, T x, typename Group::linear_id_type mask)
 
template<typename Group , typename T >
detail::enable_if_t<(std::is_same< std::decay_t< Group >, sub_group >::value &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tselect_from_group (Group, T x, typename Group::id_type local_id)
 
template<typename Group , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tgroup_broadcast (Group, T x, typename Group::id_type local_id)
 
template<typename Group , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tgroup_broadcast (Group g, T x, typename Group::linear_id_type linear_local_id)
 
template<typename Group , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&(std::is_trivially_copyable< T >::value||detail::is_vec< T >::value)), Tgroup_broadcast (Group g, T x)
 
template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_scalar_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Texclusive_scan_over_group (Group, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::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), Texclusive_scan_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Texclusive_scan_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename V , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< V >::value &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), Texclusive_scan_over_group (Group g, V x, T init, BinaryOperation binary_op)
 
template<typename Group , typename V , typename T , class BinaryOperation >
detail::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< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_if_complex< V, BinaryOperation >::value &&detail::is_plus_if_complex< T, BinaryOperation >::value), Texclusive_scan_over_group (Group g, V x, T init, BinaryOperation binary_op)
 
template<typename Group , typename InPtr , typename OutPtr , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< InPtr >::value &&detail::is_pointer< OutPtr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_if_complex< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_plus_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 >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< InPtr >::value &&detail::is_pointer< OutPtr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_plus_if_complex< typename detail::remove_pointer< InPtr >::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 >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Tinclusive_scan_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_scalar_arithmetic< T >::value &&detail::is_native_op< T, BinaryOperation >::value), Tinclusive_scan_over_group (Group, T x, BinaryOperation binary_op)
 
template<typename Group , typename T , class BinaryOperation >
detail::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), Tinclusive_scan_over_group (Group g, T x, BinaryOperation binary_op)
 
template<typename Group , typename V , class BinaryOperation , typename T >
detail::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< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_if_complex< T, BinaryOperation >::value &&detail::is_plus_if_complex< V, BinaryOperation >::value), Tinclusive_scan_over_group (Group g, V x, BinaryOperation binary_op, T init)
 
template<typename Group , typename V , class BinaryOperation , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_vector_arithmetic< V >::value &&detail::is_vector_arithmetic< T >::value &&detail::is_native_op< V, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value), Tinclusive_scan_over_group (Group g, V x, BinaryOperation binary_op, T init)
 
template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< InPtr >::value &&detail::is_pointer< OutPtr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic_or_complex< T >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_native_op< T, BinaryOperation >::value &&detail::is_plus_if_complex< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_plus_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 >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_pointer< InPtr >::value &&detail::is_pointer< OutPtr >::value &&detail::is_arithmetic_or_complex< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_plus_if_complex< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value), OutPtr > joint_inclusive_scan (Group g, InPtr first, InPtr last, OutPtr result, BinaryOperation binary_op)
 
template<typename Group >
std::enable_if< is_group_v< Group > >::type group_barrier (Group, memory_scope FenceScope=Group::fence_scope)
 
template<typename T , typename Group >
 __SYCL_DEPRECATED ("use sycl::ext::oneapi::group_local_memory_for_overwrite instead") std
 
template<typename T , typename Group , typename... Args>
std::enable_if_t< std::is_trivially_destructible< T >::value &&detail::is_group< Group >::value, multi_ptr< T, access::address_space::local_space > > __SYCL_ALWAYS_INLINE group_local_memory (Group g, Args &&... args)
 
template<int Dims>
id< Dims > this_id ()
 
class __SYCL_DEPRECATED ("interop_handler class is deprecated, use" " interop_handle instead with host-task") interop_handler
 
template<int Dims>
item< Dims > this_item ()
 
template<typename KernelName >
kernel_id get_kernel_id ()
 
std::vector< kernel_idget_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::objectcompile (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::objectcompile (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablelink (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablelink (const kernel_bundle< bundle_state::object > &ObjectBundle, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablelink (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablelink (const kernel_bundle< bundle_state::object > &ObjectBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablebuild (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::executablebuild (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={})
 
template<typename ElementType , access::address_space Space>
multi_ptr< ElementType, Space > make_ptr (typename multi_ptr< ElementType, Space >::pointer_t pointer)
 
template<typename ElementType , access::address_space Space>
bool operator== (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator!= (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator< (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator> (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator<= (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator>= (const multi_ptr< ElementType, Space > &lhs, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator!= (const multi_ptr< ElementType, Space > &lhs, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator!= (std::nullptr_t, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator== (const multi_ptr< ElementType, Space > &lhs, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator== (std::nullptr_t, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator> (const multi_ptr< ElementType, Space > &lhs, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator> (std::nullptr_t, const multi_ptr< ElementType, Space > &)
 
template<typename ElementType , access::address_space Space>
bool operator< (const multi_ptr< ElementType, Space > &, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator< (std::nullptr_t, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator>= (const multi_ptr< ElementType, Space > &, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator>= (std::nullptr_t, const multi_ptr< ElementType, Space > &rhs)
 
template<typename ElementType , access::address_space Space>
bool operator<= (const multi_ptr< ElementType, Space > &lhs, std::nullptr_t)
 
template<typename ElementType , access::address_space Space>
bool operator<= (std::nullptr_t, const multi_ptr< ElementType, Space > &rhs)
 
template<int Dims>
nd_item< Dims > this_nd_item ()
 
template<typename T , typename AllocatorT , typename BinaryOperation >
std::enable_if_t< has_known_identity< BinaryOperation, T >::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< false, access::placeholder::true_t, 1 > > > reduction (buffer< T, 1, AllocatorT > Var, handler &CGH, BinaryOperation, 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 AllocatorT , typename BinaryOperation >
std::enable_if_t<!has_known_identity< BinaryOperation, T >::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< false, access::placeholder::true_t, 1 > > > reduction (buffer< T, 1, AllocatorT >, handler &, BinaryOperation, 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 >
std::enable_if_t< has_known_identity< BinaryOperation, T >::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< true, access::placeholder::false_t, 1 > > > reduction (T *Var, BinaryOperation, 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 BinaryOperation >
std::enable_if_t<!has_known_identity< BinaryOperation, T >::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< true, access::placeholder::false_t, 1 > > > reduction (T *, BinaryOperation, 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 >
ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< false, access::placeholder::true_t, 1 > > 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 >
ext::oneapi::detail::reduction_impl< T, BinaryOperation, 0, 1, ext::oneapi::detail::default_reduction_algorithm< true, access::placeholder::false_t, 1 > > 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 , typename... ArgsT>
std::unique_ptr< Tmake_unique_ptr (ArgsT &&... Args)
 
__precision_manipulator__ setprecision (int Precision)
 
__width_manipulator__ setw (int Width)
 
const streamoperator<< (const stream &Out, const char C)
 
const streamoperator<< (const stream &Out, const char *Str)
 
const streamoperator<< (const stream &Out, const bool &RHS)
 
template<typename ValueType >
detail::enable_if_t< std::is_integral< ValueType >::value, const stream & > operator<< (const stream &Out, const ValueType &RHS)
 
const streamoperator<< (const stream &Out, const float &RHS)
 
const streamoperator<< (const stream &Out, const double &RHS)
 
const streamoperator<< (const stream &Out, const half &RHS)
 
template<typename ElementType , access::address_space Space>
const streamoperator<< (const stream &Out, const multi_ptr< ElementType, Space > &RHS)
 
template<typename T >
const streamoperator<< (const stream &Out, const T *RHS)
 
const streamoperator<< (const stream &Out, const __precision_manipulator__ &RHS)
 
const streamoperator<< (const stream &Out, const __width_manipulator__ &RHS)
 
const streamoperator<< (const stream &Out, const stream_manipulator RHS)
 
template<typename T , int VectorLength>
const streamoperator<< (const stream &Out, const vec< T, VectorLength > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const id< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const range< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const item< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const nd_range< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const nd_item< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const group< Dimensions > &RHS)
 
template<int Dimensions>
const streamoperator<< (const stream &Out, const h_item< Dimensions > &RHS)
 
template<typename T , typename RT = detail::EnableIfSwizzleVec<T>>
const streamoperator<< (const stream &Out, const T &RHS)
 
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)
 
void free (void *ptr, const context &ctxt, const detail::code_location CodeLoc)
 
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 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 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())
 
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...
 
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<>
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::executablemake_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 = detail::default_buffer_allocator<T>>
std::enable_if< Backend==backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > >::type 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 = detail::default_buffer_allocator<T>>
std::enable_if< Backend==backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > >::type make_buffer (const backend_input_t< backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT >> &BackendObject, const context &TargetContext)
 
template<>
auto get_native< backend::ext_oneapi_level_zero > (const kernel_bundle< bundle_state::executable > &Obj) -> backend_return_t< backend::ext_oneapi_level_zero, kernel_bundle< bundle_state::executable >>
 
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, contextcontext::get_native< backend::ext_oneapi_cuda > () const
 
template<>
backend_return_t< backend::ext_oneapi_cuda, contextinterop_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)
 
namespace __SYCL2020_DEPRECATED ("use 'ext::oneapi' instead") ONEAPI
 
namespace __SYCL2020_DEPRECATED ("use 'ext::intel::experimental' instead") INTEL
 
void * malloc_device (size_t Size, const device &Dev, const context &Ctxt)
 
void * malloc_device (size_t Size, const device &Dev, const context &Ctxt, const property_list &)
 
void * malloc_device (size_t Size, const queue &Q)
 
void * malloc_device (size_t Size, const queue &Q, const property_list &PropList)
 
void * aligned_alloc_device (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt)
 
void * aligned_alloc_device (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, const property_list &)
 
void * aligned_alloc_device (size_t Alignment, size_t Size, const queue &Q)
 
void * aligned_alloc_device (size_t Alignment, size_t Size, const queue &Q, const property_list &PropList)
 
void free (void *ptr, const context &Ctxt)
 
void free (void *ptr, const queue &Q)
 
void * malloc_host (size_t Size, const context &Ctxt)
 
void * malloc_host (size_t Size, const context &Ctxt, const property_list &)
 
void * malloc_host (size_t Size, const queue &Q)
 
void * malloc_host (size_t Size, const queue &Q, const property_list &PropList)
 
void * malloc_shared (size_t Size, const device &Dev, const context &Ctxt)
 
void * malloc_shared (size_t Size, const device &Dev, const context &Ctxt, const property_list &)
 
void * malloc_shared (size_t Size, const queue &Q)
 
void * malloc_shared (size_t Size, const queue &Q, const property_list &PropList)
 
void * aligned_alloc_host (size_t Alignment, size_t Size, const context &Ctxt)
 
void * aligned_alloc_host (size_t Alignment, size_t Size, const context &Ctxt, const property_list &)
 
void * aligned_alloc_host (size_t Alignment, size_t Size, const queue &Q)
 
void * aligned_alloc_host (size_t Alignment, size_t Size, const queue &Q, const property_list &PropList)
 
void * aligned_alloc_shared (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt)
 
void * aligned_alloc_shared (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, const property_list &)
 
void * aligned_alloc_shared (size_t Alignment, size_t Size, const queue &Q)
 
void * aligned_alloc_shared (size_t Alignment, size_t Size, const queue &Q, const property_list &PropList)
 
void * malloc (size_t Size, const device &Dev, const context &Ctxt, alloc Kind)
 
void * malloc (size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &)
 
void * malloc (size_t Size, const queue &Q, alloc Kind)
 
void * malloc (size_t Size, const queue &Q, alloc Kind, const property_list &PropList)
 
void * aligned_alloc (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind)
 
void * aligned_alloc (size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &)
 
void * aligned_alloc (size_t Alignment, size_t Size, const queue &Q, alloc Kind)
 
void * aligned_alloc (size_t Alignment, size_t Size, const queue &Q, alloc Kind, const property_list &PropList)
 
template std::vector< devicedevice::create_sub_devices< info::partition_property::partition_equally > (size_t ComputeUnits) const
 
template std::vector< devicedevice::create_sub_devices< info::partition_property::partition_by_counts > (const std::vector< size_t > &Counts) const
 
template std::vector< devicedevice::create_sub_devices< info::partition_property::partition_by_affinity_domain > (info::partition_affinity_domain AffinityDomain) const
 
static int getDevicePreference (const device &Device)
 
static detail::ExtendedMemberTgetHandlerImplMember (std::vector< std::shared_ptr< const void >> &SharedPtrStorage)
 
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)
 
template bool queue::has_property< property::queue::enable_profiling > () const
 
template property::queue::enable_profiling queue::get_property< property::queue::enable_profiling > () const
 
template bool queue::has_property< property::queue::in_order > () const
 
template property::queue::in_order queue::get_property< property::queue::in_order > () const
 
static size_t CheckMaxStatementSize (const size_t &MaxStatementSize)
 

Variables

 Dimensions
 
AllocatorT &Obj backend_return_t< BackendName, buffer< DataT, Dimensions, AllocatorT > >
 
T__NOEXC
 
template<class T >
__SYCL_INLINE_CONSTEXPR bool is_group_v
 
template<typename BinaryOperation , typename AccumulatorT >
__SYCL_INLINE_CONSTEXPR bool has_known_identity_v
 
template<typename BinaryOperation , typename AccumulatorT >
__SYCL_INLINE_CONSTEXPR AccumulatorT known_identity_v
 
template<typename propertyT >
__SYCL_INLINE_CONSTEXPR bool is_property_v = is_property<propertyT>::value
 
template<typename propertyT , typename syclObjectT >
__SYCL_INLINE_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 MaxNumAdditionalArgs = 13
 
static constexpr size_t MAX_STATEMENT_SIZE
 

Typedef Documentation

◆ access_mode

Definition at line 68 of file access.hpp.

◆ alloc

Definition at line 43 of file usm_impl.cpp.

◆ async_handler

using cl::sycl::async_handler = typedef std::function<void(cl::sycl::exception_list)>

Definition at line 53 of file exception_list.hpp.

◆ backend_input_t

template<backend Backend, typename SyclType >
using cl::sycl::backend_input_t = typedef typename backend_traits<Backend>::template input_type<SYCLObjectT>

Definition at line 68 of file backend.hpp.

◆ backend_return_t

template<backend Backend, typename SyclType >
using cl::sycl::backend_return_t = typedef typename backend_traits<Backend>::template return_type<SYCLObjectT>

Definition at line 72 of file backend.hpp.

◆ bit_and

template<typename T = void>
using cl::sycl::bit_and = typedef std::bit_and<T>

Definition at line 20 of file functional.hpp.

◆ bit_or

template<typename T = void>
using cl::sycl::bit_or = typedef std::bit_or<T>

Definition at line 21 of file functional.hpp.

◆ bit_xor

template<typename T = void>
using cl::sycl::bit_xor = typedef std::bit_xor<T>

Definition at line 22 of file functional.hpp.

◆ buffer_allocator

◆ byte

using cl::sycl::byte = typedef unsigned char

Definition at line 59 of file image.hpp.

◆ cl_bool

using cl::sycl::cl_bool = typedef bool

Definition at line 78 of file aliases.hpp.

◆ cl_char

using cl::sycl::cl_char = typedef std::int8_t

Definition at line 79 of file aliases.hpp.

◆ cl_double

using cl::sycl::cl_double = typedef double

Definition at line 89 of file aliases.hpp.

◆ cl_float

using cl::sycl::cl_float = typedef float

Definition at line 88 of file aliases.hpp.

◆ cl_half

using cl::sycl::cl_half = typedef half

Definition at line 87 of file aliases.hpp.

◆ cl_int

using cl::sycl::cl_int = typedef std::int32_t

Definition at line 83 of file aliases.hpp.

◆ cl_long

using cl::sycl::cl_long = typedef std::int64_t

Definition at line 85 of file aliases.hpp.

◆ cl_short

using cl::sycl::cl_short = typedef std::int16_t

Definition at line 81 of file aliases.hpp.

◆ cl_uchar

using cl::sycl::cl_uchar = typedef std::uint8_t

Definition at line 80 of file aliases.hpp.

◆ cl_uint

using cl::sycl::cl_uint = typedef std::uint32_t

Definition at line 84 of file aliases.hpp.

◆ cl_ulong

using cl::sycl::cl_ulong = typedef std::uint64_t

Definition at line 86 of file aliases.hpp.

◆ cl_ushort

using cl::sycl::cl_ushort = typedef std::uint16_t

Definition at line 82 of file aliases.hpp.

◆ constant_ptr

template<typename ElementType >
using cl::sycl::constant_ptr = typedef multi_ptr<ElementType, access::address_space::constant_space>

Definition at line 40 of file pointers.hpp.

◆ ContextImplPtr

using cl::sycl::ContextImplPtr = typedef std::shared_ptr<cl::sycl::detail::context_impl>

Definition at line 19 of file helpers.cpp.

◆ device_ptr

template<typename ElementType >
using cl::sycl::device_ptr = typedef multi_ptr<ElementType, access::address_space::ext_intel_global_device_space>

Definition at line 29 of file pointers.hpp.

◆ errc_for

template<backend B>
using cl::sycl::errc_for = typedef typename backend_traits<B>::errc

Definition at line 46 of file exception.hpp.

◆ generic_ptr

template<typename ElementType >
using cl::sycl::generic_ptr = typedef multi_ptr<ElementType, access::address_space::generic_space>

Definition at line 21 of file pointers.hpp.

◆ global_ptr

template<typename ElementType >
using cl::sycl::global_ptr = typedef multi_ptr<ElementType, access::address_space::global_space>

Definition at line 24 of file pointers.hpp.

◆ half

Definition at line 77 of file aliases.hpp.

◆ host_ptr

template<typename ElementType >
using cl::sycl::host_ptr = typedef multi_ptr<ElementType, access::address_space::ext_intel_global_host_space>

Definition at line 33 of file pointers.hpp.

◆ image_allocator

Definition at line 61 of file image.hpp.

◆ instead

using cl::sycl::instead = typedef std::uint8_t

Definition at line 69 of file aliases.hpp.

◆ local_ptr

template<typename ElementType >
using cl::sycl::local_ptr = typedef multi_ptr<ElementType, access::address_space::local_space>

Definition at line 36 of file pointers.hpp.

◆ logical_and

template<typename T = void>
using cl::sycl::logical_and = typedef std::logical_and<T>

Definition at line 23 of file functional.hpp.

◆ logical_or

template<typename T = void>
using cl::sycl::logical_or = typedef std::logical_or<T>

Definition at line 24 of file functional.hpp.

◆ longlong

using cl::sycl::longlong = typedef long long

Definition at line 75 of file aliases.hpp.

◆ multiplies

template<typename T = void>
using cl::sycl::multiplies = typedef std::multiplies<T>

Definition at line 19 of file functional.hpp.

◆ pipe

template<class name , class dataT , int32_t min_capacity = 0>
using cl::sycl::pipe = typedef ext::intel::pipe<name, dataT, min_capacity>

Definition at line 16 of file pipes.hpp.

◆ plus

template<typename T = void>
using cl::sycl::plus = typedef std::plus<T>

Definition at line 18 of file functional.hpp.

◆ private_ptr

template<typename ElementType >
using cl::sycl::private_ptr = typedef multi_ptr<ElementType, access::address_space::private_space>

Definition at line 44 of file pointers.hpp.

◆ schar

using cl::sycl::schar = typedef signed char

Definition at line 70 of file aliases.hpp.

◆ uchar

using cl::sycl::uchar = typedef unsigned char

Definition at line 71 of file aliases.hpp.

◆ uint

using cl::sycl::uint = typedef unsigned int

Definition at line 73 of file aliases.hpp.

◆ ulong

using cl::sycl::ulong = typedef unsigned long

Definition at line 74 of file aliases.hpp.

◆ ulonglong

using cl::sycl::ulonglong = typedef unsigned long long

Definition at line 76 of file aliases.hpp.

◆ ushort

using cl::sycl::ushort = typedef unsigned short

Definition at line 72 of file aliases.hpp.

◆ vec_data

template<typename T >
using cl::sycl::vec_data = typedef detail::vec_helper<T>

Definition at line 529 of file types.hpp.

◆ vec_data_t

template<typename T >
using cl::sycl::vec_data_t = typedef typename detail::vec_helper<T>::RetType

Definition at line 532 of file types.hpp.

Enumeration Type Documentation

◆ addressing_mode

enum cl::sycl::addressing_mode : unsigned int
strong
Enumerator
mirrored_repeat 
repeat 
clamp_to_edge 
clamp 
none 

Definition at line 20 of file sampler.hpp.

◆ aspect

enum cl::sycl::aspect
strong
Enumerator
host 
cpu 
gpu 
accelerator 
custom 
fp16 
fp64 
__SYCL2020_DEPRECATED 
__SYCL2020_DEPRECATED 
image 
online_compiler 
online_linker 
queue_profiling 
usm_device_allocations 
usm_host_allocations 
usm_shared_allocations 
usm_restricted_shared_allocations 
usm_system_allocations 
__SYCL2020_DEPRECATED 
ext_intel_pci_address 
ext_intel_gpu_eu_count 
ext_intel_gpu_eu_simd_width 
ext_intel_gpu_slices 
ext_intel_gpu_subslices_per_slice 
ext_intel_gpu_eu_count_per_subslice 
ext_intel_max_mem_bandwidth 
ext_intel_mem_channel 
usm_atomic_host_allocations 
usm_atomic_shared_allocations 
atomic64 
ext_intel_device_info_uuid 
ext_oneapi_srgb 
ext_oneapi_native_assert 
host_debuggable 
ext_intel_gpu_hw_threads_per_eu 
ext_oneapi_cuda_async_barrier 
ext_oneapi_bfloat16 

Definition at line 15 of file aspects.hpp.

◆ backend

enum cl::sycl::backend : char
strong
Enumerator
host 
opencl 
ext_oneapi_level_zero 
__SYCL2020_DEPRECATED 
ext_oneapi_cuda 
__SYCL2020_DEPRECATED 
all 
ext_intel_esimd_emulator 
__SYCL2020_DEPRECATED 
ext_oneapi_hip 
__SYCL2020_DEPRECATED 

Definition at line 21 of file backend_types.hpp.

◆ bundle_state

Enumerator
input 
object 
executable 

Definition at line 14 of file kernel_bundle_enums.hpp.

◆ coordinate_normalization_mode

enum cl::sycl::coordinate_normalization_mode : unsigned int
strong
Enumerator
normalized 
unnormalized 

Definition at line 33 of file sampler.hpp.

◆ errc

enum cl::sycl::errc : unsigned int
strong
Enumerator
success 
runtime 
kernel 
accessor 
nd_range 
event 
kernel_argument 
build 
invalid 
memory_allocation 
platform 
profiling 
feature_not_supported 
kernel_not_supported 
backend_mismatch 

Definition at line 28 of file exception.hpp.

◆ filtering_mode

enum cl::sycl::filtering_mode : unsigned int
strong
Enumerator
nearest 
linear 

Definition at line 28 of file sampler.hpp.

◆ image_channel_order

enum cl::sycl::image_channel_order : unsigned int
strong
Enumerator
rx 
rg 
rgx 
ra 
rgb 
rgbx 
rgba 
argb 
bgra 
intensity 
luminance 
abgr 
ext_oneapi_srgba 

Definition at line 23 of file image.hpp.

◆ image_channel_type

enum cl::sycl::image_channel_type : unsigned int
strong
Enumerator
snorm_int8 
snorm_int16 
unorm_int8 
unorm_int16 
unorm_short_565 
unorm_short_555 
unorm_int_101010 
signed_int8 
signed_int16 
signed_int32 
unsigned_int8 
unsigned_int16 
unsigned_int32 
fp16 
fp32 

Definition at line 41 of file image.hpp.

◆ memory_order

enum cl::sycl::memory_order : int
strong
Enumerator
relaxed 
acquire 
__consume_unsupported 
release 
acq_rel 
seq_cst 

Definition at line 16 of file memory_enums.hpp.

◆ memory_scope

enum cl::sycl::memory_scope : int
strong
Enumerator
work_item 
sub_group 
work_group 
device 
system 

Definition at line 26 of file memory_enums.hpp.

◆ rounding_mode

Enumerator
automatic 
rte 
rtz 
rtp 
rtn 

Definition at line 71 of file types.hpp.

◆ stream_manipulator

Enumerator
dec 
hex 
oct 
noshowbase 
showbase 
noshowpos 
showpos 
endl 
flush 
fixed 
scientific 
hexfloat 
defaultfloat 

Definition at line 663 of file stream.hpp.

Function Documentation

◆ __SYCL2020_DEPRECATED() [1/5]

template<typename T , access::address_space addressSpace = access::address_space::global_space>
class cl::sycl::__SYCL2020_DEPRECATED ( "sycl::atomic is deprecated since SYCL 2020"  )

◆ __SYCL2020_DEPRECATED() [2/5]

namespace cl::sycl::__SYCL2020_DEPRECATED ( "use 'ext::intel' instead )

Definition at line 753 of file builtins.hpp.

◆ __SYCL2020_DEPRECATED() [3/5]

namespace cl::sycl::__SYCL2020_DEPRECATED ( "use 'ext::intel::experimental' instead )

Definition at line 242 of file online_compiler.cpp.

◆ __SYCL2020_DEPRECATED() [4/5]

namespace cl::sycl::__SYCL2020_DEPRECATED ( "use 'ext::oneapi' instead )

Definition at line 192 of file filter_selector_impl.cpp.

◆ __SYCL2020_DEPRECATED() [5/5]

namespace cl::sycl::__SYCL2020_DEPRECATED ( "use 'ext::oneapi::level_zero' instead )

Definition at line 239 of file level_zero.hpp.

◆ __SYCL_DEPRECATED() [1/4]

template<backend BackendName, typename DataT , int Dimensions, typename AllocatorT , std::enable_if_t< BackendName==backend::opencl > * = nullptr>
cl::sycl::__SYCL_DEPRECATED ( "get_native<backend::opencl, buffer ,
which return type " "cl_mem is deprecated. According to SYCL 2020  spec,
please define " "SYCL2020_CONFORMANT_APIS and use vector< cl_mem > instead."   
) const

◆ __SYCL_DEPRECATED() [2/4]

template<>
cl::sycl::__SYCL_DEPRECATED ( "get_native<backend::opencl, event ,
which return type is " "cl_event is deprecated. According to SYCL 2020  spec,
please define " "SYCL2020_CONFORMANT_APIS and use vector< cl_event > instead."   
)

Definition at line 178 of file backend.hpp.

◆ __SYCL_DEPRECATED() [3/4]

class cl::sycl::__SYCL_DEPRECATED ( "interop_handler class is  deprecated,
use" " interop_handle instead with host-task"   
)

Definition at line 18 of file interop_handler.hpp.

References cl::sycl::detail::getSyclObjImpl(), and host.

◆ __SYCL_DEPRECATED() [4/4]

template<typename T , typename Group >
cl::sycl::__SYCL_DEPRECATED ( "use sycl::ext::oneapi::group_local_memory_for_overwrite instead )

Definition at line 18 of file group_local_memory.hpp.

◆ abs() [1/3]

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::abs ( T  x)

Definition at line 530 of file builtins.hpp.

Referenced by cl::__host_std::s_abs().

◆ abs() [2/3]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::abs ( T  x)

Definition at line 629 of file builtins.hpp.

◆ abs() [3/3]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, detail::make_unsigned_t<T> > cl::sycl::abs ( T  x)

Definition at line 637 of file builtins.hpp.

◆ abs_diff() [1/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::abs_diff ( T  x,
T  y 
)

Definition at line 643 of file builtins.hpp.

◆ abs_diff() [2/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, detail::make_unsigned_t<T> > cl::sycl::abs_diff ( T  x,
T  y 
)

Definition at line 652 of file builtins.hpp.

◆ acos()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::acos ( T  x)

Definition at line 38 of file builtins.hpp.

◆ acosh()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::acosh ( T  x)

Definition at line 44 of file builtins.hpp.

◆ acospi()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::acospi ( T  x)

Definition at line 50 of file builtins.hpp.

◆ add_sat() [1/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, T> cl::sycl::add_sat ( T  x,
T  y 
)

Definition at line 658 of file builtins.hpp.

◆ add_sat() [2/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::add_sat ( T  x,
T  y 
)

Definition at line 665 of file builtins.hpp.

◆ addArgsForGlobalAccessor()

static void cl::sycl::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

◆ aligned_alloc() [1/8]

void* cl::sycl::aligned_alloc ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt,
alloc  Kind 
)

◆ aligned_alloc() [2/8]

void* cl::sycl::aligned_alloc ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt,
alloc  Kind,
const property_list  
)

Definition at line 772 of file usm_impl.cpp.

References aligned_alloc().

◆ aligned_alloc() [3/8]

void * cl::sycl::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() 
)

◆ aligned_alloc() [4/8]

void * cl::sycl::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() 
)

◆ aligned_alloc() [5/8]

void* cl::sycl::aligned_alloc ( size_t  Alignment,
size_t  Size,
const queue Q,
alloc  Kind 
)

◆ aligned_alloc() [6/8]

void* cl::sycl::aligned_alloc ( size_t  Alignment,
size_t  Size,
const queue Q,
alloc  Kind,
const property_list PropList 
)

Definition at line 785 of file usm_impl.cpp.

References cl::sycl::queue::get_context(), and cl::sycl::queue::get_device().

Referenced by aligned_alloc().

◆ aligned_alloc() [7/8]

void * cl::sycl::aligned_alloc ( size_t  alignment,
size_t  size,
const queue q,
usm::alloc  kind,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

◆ aligned_alloc() [8/8]

void * cl::sycl::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() 
)

Definition at line 290 of file usm.hpp.

◆ aligned_alloc_device() [1/8]

void* cl::sycl::aligned_alloc_device ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt 
)

Definition at line 592 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAlloc().

◆ aligned_alloc_device() [2/8]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 278 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAlloc().

◆ aligned_alloc_device() [3/8]

void* cl::sycl::aligned_alloc_device ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt,
const property_list  
)

Definition at line 599 of file usm_impl.cpp.

References aligned_alloc_device().

◆ aligned_alloc_device() [4/8]

void * cl::sycl::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() 
)

Definition at line 173 of file usm.hpp.

◆ aligned_alloc_device() [5/8]

void* cl::sycl::aligned_alloc_device ( size_t  Alignment,
size_t  Size,
const queue Q 
)

◆ aligned_alloc_device() [6/8]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const queue q,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

◆ aligned_alloc_device() [7/8]

void* cl::sycl::aligned_alloc_device ( size_t  Alignment,
size_t  Size,
const queue Q,
const property_list PropList 
)

Definition at line 612 of file usm_impl.cpp.

References cl::sycl::queue::get_context(), and cl::sycl::queue::get_device().

Referenced by aligned_alloc_device().

◆ aligned_alloc_device() [8/8]

void * cl::sycl::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() 
)

Definition at line 183 of file usm.hpp.

◆ aligned_alloc_host() [1/8]

void* cl::sycl::aligned_alloc_host ( size_t  Alignment,
size_t  Size,
const context Ctxt 
)

Definition at line 671 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAllocHost().

◆ aligned_alloc_host() [2/8]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const context ctxt,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 358 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAllocHost().

◆ aligned_alloc_host() [3/8]

void* cl::sycl::aligned_alloc_host ( size_t  Alignment,
size_t  Size,
const context Ctxt,
const property_list  
)

Definition at line 677 of file usm_impl.cpp.

References aligned_alloc_host().

◆ aligned_alloc_host() [4/8]

void * cl::sycl::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() 
)

Definition at line 224 of file usm.hpp.

◆ aligned_alloc_host() [5/8]

void* cl::sycl::aligned_alloc_host ( size_t  Alignment,
size_t  Size,
const queue Q 
)

Definition at line 683 of file usm_impl.cpp.

References aligned_alloc_host(), and cl::sycl::queue::get_context().

◆ aligned_alloc_host() [6/8]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const queue q,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 370 of file usm_impl.cpp.

References aligned_alloc_host(), and cl::sycl::queue::get_context().

◆ aligned_alloc_host() [7/8]

void* cl::sycl::aligned_alloc_host ( size_t  Alignment,
size_t  Size,
const queue Q,
const property_list PropList 
)

Definition at line 689 of file usm_impl.cpp.

References cl::sycl::queue::get_context().

Referenced by aligned_alloc_host().

◆ aligned_alloc_host() [8/8]

void * cl::sycl::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() 
)

Definition at line 234 of file usm.hpp.

◆ aligned_alloc_shared() [1/8]

void* cl::sycl::aligned_alloc_shared ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt 
)

Definition at line 696 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAlloc().

◆ aligned_alloc_shared() [2/8]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 381 of file usm_impl.cpp.

References cl::sycl::detail::usm::alignedAlloc().

◆ aligned_alloc_shared() [3/8]

void* cl::sycl::aligned_alloc_shared ( size_t  Alignment,
size_t  Size,
const device Dev,
const context Ctxt,
const property_list  
)

Definition at line 703 of file usm_impl.cpp.

References aligned_alloc_shared().

◆ aligned_alloc_shared() [4/8]

void * cl::sycl::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() 
)

Definition at line 243 of file usm.hpp.

◆ aligned_alloc_shared() [5/8]

void* cl::sycl::aligned_alloc_shared ( size_t  Alignment,
size_t  Size,
const queue Q 
)

◆ aligned_alloc_shared() [6/8]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const queue q,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

◆ aligned_alloc_shared() [7/8]

void* cl::sycl::aligned_alloc_shared ( size_t  Alignment,
size_t  Size,
const queue Q,
const property_list PropList 
)

Definition at line 716 of file usm_impl.cpp.

References cl::sycl::queue::get_context(), and cl::sycl::queue::get_device().

Referenced by aligned_alloc_shared().

◆ aligned_alloc_shared() [8/8]

void * cl::sycl::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() 
)

Definition at line 253 of file usm.hpp.

◆ all() [1/2]

◆ all() [2/2]

template<typename T >
detail::enable_if_t<detail::is_vigeninteger<T>::value, int> cl::sycl::all ( T  x)

Definition at line 1303 of file builtins.hpp.

References all().

◆ all_of_group() [1/2]

template<typename Group , typename T , class Predicate >
detail::enable_if_t<is_group_v<std::decay_t<Group> >, bool> cl::sycl::all_of_group ( Group  g,
T  x,
Predicate  pred 
)

◆ all_of_group() [2/2]

template<typename Group >
detail::enable_if_t<is_group_v<std::decay_t<Group> >, bool> cl::sycl::all_of_group ( Group  ,
bool  pred 
)

Definition at line 393 of file group_algorithm.hpp.

◆ any() [1/2]

template<typename T >
detail::enable_if_t<detail::is_sigeninteger<T>::value, int> cl::sycl::any ( T  x)

Definition at line 1283 of file builtins.hpp.

References cl::sycl::detail::msbIsSet().

◆ any() [2/2]

template<typename T >
detail::enable_if_t<detail::is_vigeninteger<T>::value, int> cl::sycl::any ( T  x)

Definition at line 1289 of file builtins.hpp.

◆ any_of_group() [1/2]

template<typename Group , typename T , class Predicate >
detail::enable_if_t<is_group_v<Group>, bool> cl::sycl::any_of_group ( Group  g,
T  x,
Predicate  pred 
)

◆ any_of_group() [2/2]

template<typename Group >
detail::enable_if_t<is_group_v<std::decay_t<Group> >, bool> cl::sycl::any_of_group ( Group  ,
bool  pred 
)

Definition at line 354 of file group_algorithm.hpp.

◆ asin()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::asin ( T  x)

Definition at line 56 of file builtins.hpp.

◆ asinh()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::asinh ( T  x)

Definition at line 62 of file builtins.hpp.

◆ asinpi()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::asinpi ( T  x)

Definition at line 68 of file builtins.hpp.

◆ atan()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::atan ( T  y_over_x)

Definition at line 74 of file builtins.hpp.

◆ atan2pi()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::atan2pi ( T  y,
T  x 
)

Definition at line 98 of file builtins.hpp.

◆ atanh()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::atanh ( T  x)

Definition at line 86 of file builtins.hpp.

◆ atanpi()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::atanpi ( T  x)

Definition at line 92 of file builtins.hpp.

◆ atomic_compare_exchange_strong()

template<typename T , access::address_space addressSpace>
bool cl::sycl::atomic_compare_exchange_strong ( atomic< T, addressSpace >  Object,
T Expected,
T  Desired,
memory_order  SuccessOrder = memory_order::relaxed,
memory_order  FailOrder = memory_order::relaxed 
)

Definition at line 347 of file atomic.hpp.

◆ atomic_exchange()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_exchange ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 341 of file atomic.hpp.

◆ atomic_fence()

static void cl::sycl::atomic_fence ( memory_order  order,
memory_scope  scope 
)
inlinestatic

◆ atomic_fetch_add()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_add ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 356 of file atomic.hpp.

◆ atomic_fetch_and()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_and ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 368 of file atomic.hpp.

◆ atomic_fetch_max()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_max ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 392 of file atomic.hpp.

◆ atomic_fetch_min()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_min ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 386 of file atomic.hpp.

◆ atomic_fetch_or()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_or ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 374 of file atomic.hpp.

◆ atomic_fetch_sub()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_sub ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 362 of file atomic.hpp.

◆ atomic_fetch_xor()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_fetch_xor ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 380 of file atomic.hpp.

◆ atomic_load()

template<typename T , access::address_space addressSpace>
T cl::sycl::atomic_load ( atomic< T, addressSpace >  Object,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 335 of file atomic.hpp.

◆ atomic_store()

template<typename T , access::address_space addressSpace>
void cl::sycl::atomic_store ( atomic< T, addressSpace >  Object,
T  Operand,
memory_order  MemoryOrder = memory_order::relaxed 
)

Definition at line 329 of file atomic.hpp.

◆ bit_cast()

template<typename To , typename From >
To cl::sycl::bit_cast ( const From &  from)
noexcept

Definition at line 30 of file bit_cast.hpp.

References cl::sycl::detail::memcpy().

◆ bitselect()

template<typename T >
detail::enable_if_t<detail::is_gentype<T>::value, T> cl::sycl::bitselect ( T  a,
T  b,
T  c 
)

Definition at line 1311 of file builtins.hpp.

References a.

◆ build() [1/2]

kernel_bundle<bundle_state::executable> cl::sycl::build ( const kernel_bundle< bundle_state::input > &  InputBundle,
const property_list PropList = {} 
)
inline

Definition at line 725 of file kernel_bundle.hpp.

References build().

◆ build() [2/2]

kernel_bundle<bundle_state::executable> cl::sycl::build ( const kernel_bundle< bundle_state::input > &  InputBundle,
const std::vector< device > &  Devs,
const property_list PropList = {} 
)
inline
Returns
a new kernel_bundle which contains device images that are translated into one ore more new device images of state bundle_state::executable. The new bundle represents all of the kernels in InputBundle that are compatible with at least one of the devices in Devs.

Definition at line 714 of file kernel_bundle.hpp.

References build().

Referenced by cl::sycl::detail::ProgramManager::bringSYCLDeviceImagesToState(), cl::sycl::detail::ProgramManager::build(), build(), cl::sycl::detail::ProgramManager::compile(), cl::sycl::detail::ProgramManager::getBuiltPIProgram(), cl::sycl::detail::kernel_bundle_impl::kernel_bundle_impl(), cl::sycl::detail::ProgramManager::link(), and cl::sycl::detail::make_kernel_bundle().

◆ cbrt()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::cbrt ( T  x)

Definition at line 105 of file builtins.hpp.

◆ ceil()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::ceil ( T  x)

Definition at line 111 of file builtins.hpp.

Referenced by cl::sycl::detail::convertImpl().

◆ CheckMaxStatementSize()

static size_t cl::sycl::CheckMaxStatementSize ( const size_t &  MaxStatementSize)
static

Definition at line 25 of file stream.cpp.

References MAX_STATEMENT_SIZE.

◆ clamp() [1/6]

◆ clamp() [2/6]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, T> cl::sycl::clamp ( T  x,
T  minval,
T  maxval 
)

Definition at line 701 of file builtins.hpp.

◆ clamp() [3/6]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::clamp ( T  x,
T  minval,
T  maxval 
)

Definition at line 708 of file builtins.hpp.

◆ clamp() [4/6]

template<typename T >
detail::enable_if_t<detail::is_vgenfloat<T>::value, T> cl::sycl::clamp ( T  x,
typename T::element_type  minval,
typename T::element_type  maxval 
)

Definition at line 516 of file builtins.hpp.

◆ clamp() [5/6]

template<typename T >
detail::enable_if_t<detail::is_vigeninteger<T>::value, T> cl::sycl::clamp ( T  x,
typename T::element_type  minval,
typename T::element_type  maxval 
)

Definition at line 715 of file builtins.hpp.

◆ clamp() [6/6]

template<typename T >
detail::enable_if_t<detail::is_vugeninteger<T>::value, T> cl::sycl::clamp ( T  x,
typename T::element_type  minval,
typename T::element_type  maxval 
)

Definition at line 723 of file builtins.hpp.

◆ clz()

template<typename T >
detail::enable_if_t<detail::is_geninteger<T>::value, T> cl::sycl::clz ( T  x)

Definition at line 730 of file builtins.hpp.

◆ compile() [1/2]

kernel_bundle<bundle_state::object> cl::sycl::compile ( const kernel_bundle< bundle_state::input > &  InputBundle,
const property_list PropList = {} 
)
inline

Definition at line 643 of file kernel_bundle.hpp.

◆ compile() [2/2]

kernel_bundle<bundle_state::object> cl::sycl::compile ( const kernel_bundle< bundle_state::input > &  InputBundle,
const std::vector< device > &  Devs,
const property_list PropList = {} 
)
inline
Returns
a new kernel_bundle which contains the device images from InputBundle that are translated into one or more new device images of state bundle_state::object. The new bundle represents all of the kernels in InputBundles that are compatible with at least one of the devices in Devs.

Definition at line 632 of file kernel_bundle.hpp.

Referenced by cl::sycl::detail::ProgramManager::bringSYCLDeviceImagesToState(), cl::sycl::ext::intel::experimental::online_compiler< Lang >::compile(), and cl::sycl::detail::kernel_bundle_impl::kernel_bundle_impl().

◆ context::get_native< backend::ext_oneapi_cuda >()

◆ copysign()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::copysign ( T  x,
T  y 
)

Definition at line 117 of file builtins.hpp.

◆ cos() [1/2]

template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd<float, SZ> cl::sycl::cos ( sycl::ext::intel::esimd::simd< float, SZ >  x)

Definition at line 27 of file builtins_esimd.hpp.

◆ cos() [2/2]

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::cos ( T  x)

Definition at line 124 of file builtins.hpp.

◆ cosh()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::cosh ( T  x)

Definition at line 130 of file builtins.hpp.

◆ cospi()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::cospi ( T  x)

Definition at line 136 of file builtins.hpp.

◆ cross()

template<typename T >
detail::enable_if_t<detail::is_gencross<T>::value, T> cl::sycl::cross ( T  p0,
T  p1 
)

Definition at line 974 of file builtins.hpp.

◆ ctz()

template<typename T >
detail::enable_if_t<detail::is_geninteger<T>::value, T> cl::sycl::ctz ( T  x)

Definition at line 736 of file builtins.hpp.

◆ degrees()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::degrees ( T  radians)

Definition at line 524 of file builtins.hpp.

References radians().

Referenced by radians().

◆ device::create_sub_devices< info::partition_property::partition_by_affinity_domain >()

◆ device::create_sub_devices< info::partition_property::partition_by_counts >()

template std::vector<device> cl::sycl::device::create_sub_devices< info::partition_property::partition_by_counts > ( const std::vector< size_t > &  Counts) const

◆ device::create_sub_devices< info::partition_property::partition_equally >()

template std::vector<device> cl::sycl::device::create_sub_devices< info::partition_property::partition_equally > ( size_t  ComputeUnits) const

◆ distance() [1/3]

template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float cl::sycl::distance ( T  p0,
T  p1 
)

Definition at line 1011 of file builtins.hpp.

Referenced by cl::sycl::detail::LeavesCollection::remove().

◆ distance() [2/3]

template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double cl::sycl::distance ( T  p0,
T  p1 
)

Definition at line 1018 of file builtins.hpp.

◆ distance() [3/3]

template<typename T , typename = detail::enable_if_t<detail::is_gengeohalf<T>::value, T>>
half cl::sycl::distance ( T  p0,
T  p1 
)

Definition at line 1025 of file builtins.hpp.

◆ dot() [1/4]

template<typename T >
detail::enable_if_t<detail::is_sgenfloat<T>::value, T> cl::sycl::dot ( T  p0,
T  p1 
)

Definition at line 983 of file builtins.hpp.

◆ dot() [2/4]

template<typename T >
detail::enable_if_t<detail::is_vgengeofloat<T>::value, float> cl::sycl::dot ( T  p0,
T  p1 
)

Definition at line 990 of file builtins.hpp.

◆ dot() [3/4]

template<typename T >
detail::enable_if_t<detail::is_vgengeodouble<T>::value, double> cl::sycl::dot ( T  p0,
T  p1 
)

Definition at line 997 of file builtins.hpp.

◆ dot() [4/4]

template<typename T >
detail::enable_if_t<detail::is_vgengeohalf<T>::value, half> cl::sycl::dot ( T  p0,
T  p1 
)

Definition at line 1003 of file builtins.hpp.

◆ erf()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::erf ( T  x)

Definition at line 148 of file builtins.hpp.

◆ erfc()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::erfc ( T  x)

Definition at line 142 of file builtins.hpp.

◆ exclusive_scan_over_group() [1/5]

template<typename Group , typename T , class BinaryOperation >
detail::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> cl::sycl::exclusive_scan_over_group ( Group  g,
T  x,
BinaryOperation  binary_op 
)

Definition at line 628 of file group_algorithm.hpp.

References exclusive_scan_over_group().

◆ exclusive_scan_over_group() [2/5]

template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_vector_arithmetic<T>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::exclusive_scan_over_group ( Group  g,
T  x,
BinaryOperation  binary_op 
)

Definition at line 648 of file group_algorithm.hpp.

References exclusive_scan_over_group().

◆ exclusive_scan_over_group() [3/5]

template<typename Group , typename V , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_vector_arithmetic<V>::value && detail::is_vector_arithmetic<T>::value && detail::is_native_op<V, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::exclusive_scan_over_group ( Group  g,
x,
T  init,
BinaryOperation  binary_op 
)

Definition at line 672 of file group_algorithm.hpp.

References exclusive_scan_over_group().

◆ exclusive_scan_over_group() [4/5]

template<typename Group , typename V , typename T , class BinaryOperation >
detail::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<V, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value && detail::is_plus_if_complex<V, BinaryOperation>::value && detail::is_plus_if_complex<T, BinaryOperation>::value), T> cl::sycl::exclusive_scan_over_group ( Group  g,
x,
T  init,
BinaryOperation  binary_op 
)

◆ exclusive_scan_over_group() [5/5]

template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_scalar_arithmetic<T>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::exclusive_scan_over_group ( Group  ,
T  x,
BinaryOperation  binary_op 
)

Definition at line 604 of file group_algorithm.hpp.

References __spv::ExclusiveScan.

◆ exp() [1/2]

template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd<float, SZ> cl::sycl::exp ( sycl::ext::intel::esimd::simd< float, SZ >  x)

Definition at line 49 of file builtins_esimd.hpp.

◆ exp() [2/2]

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::exp ( T  x)

Definition at line 154 of file builtins.hpp.

◆ exp10()

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::exp10 ( T  x)

Definition at line 166 of file builtins.hpp.

◆ exp2()

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::exp2 ( T  x)

Definition at line 160 of file builtins.hpp.

◆ expm1()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::expm1 ( T  x)

Definition at line 172 of file builtins.hpp.

◆ fabs()

◆ fast_distance() [1/2]

template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float cl::sycl::fast_distance ( T  p0,
T  p1 
)

Definition at line 1073 of file builtins.hpp.

◆ fast_distance() [2/2]

template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double cl::sycl::fast_distance ( T  p0,
T  p1 
)

Definition at line 1080 of file builtins.hpp.

◆ fast_length() [1/2]

template<typename T , typename = detail::enable_if_t<detail::is_gengeofloat<T>::value, T>>
float cl::sycl::fast_length ( T  p)

Definition at line 1087 of file builtins.hpp.

◆ fast_length() [2/2]

template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double cl::sycl::fast_length ( T  p)

Definition at line 1094 of file builtins.hpp.

◆ fast_normalize() [1/2]

template<typename T >
detail::enable_if_t<detail::is_gengeofloat<T>::value, T> cl::sycl::fast_normalize ( T  p)

Definition at line 1101 of file builtins.hpp.

◆ fast_normalize() [2/2]

template<typename T >
detail::enable_if_t<detail::is_gengeodouble<T>::value, T> cl::sycl::fast_normalize ( T  p)

Definition at line 1108 of file builtins.hpp.

◆ fdim()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::fdim ( T  x,
T  y 
)

Definition at line 184 of file builtins.hpp.

◆ floor()

◆ fma()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::fma ( T  a,
T  b,
T  c 
)

◆ fmax() [1/2]

◆ fmax() [2/2]

template<typename T >
detail::enable_if_t<detail::is_vgenfloat<T>::value, T> cl::sycl::fmax ( T  x,
typename T::element_type  y 
)

Definition at line 210 of file builtins.hpp.

◆ fmin() [1/2]

◆ fmin() [2/2]

template<typename T >
detail::enable_if_t<detail::is_vgenfloat<T>::value, T> cl::sycl::fmin ( T  x,
typename T::element_type  y 
)

Definition at line 223 of file builtins.hpp.

◆ fract()

template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat<T>::value && detail::is_genfloatptr<T2>::value, T> cl::sycl::fract ( T  x,
T2  iptr 
)

Definition at line 237 of file builtins.hpp.

◆ free() [1/4]

void cl::sycl::free ( void *  ptr,
const context Ctxt 
)

Definition at line 619 of file usm_impl.cpp.

References free().

◆ free() [2/4]

void cl::sycl::free ( void *  ptr,
const context ctxt,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 304 of file usm_impl.cpp.

References free().

Referenced by cl::sycl::usm_allocator< T, AllocKind, Alignment >::deallocate().

◆ free() [3/4]

void cl::sycl::free ( void *  ptr,
const queue Q 
)

Definition at line 623 of file usm_impl.cpp.

References cl::sycl::queue::get_context().

Referenced by cl::sycl::detail::usm::free(), and free().

◆ free() [4/4]

void cl::sycl::free ( void *  ptr,
const queue q,
const detail::code_location  CodeLoc = detail::code_location::current() 
)

Definition at line 308 of file usm_impl.cpp.

References free(), and cl::sycl::queue::get_context().

◆ frexp()

template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat<T>::value && detail::is_genintptr<T2>::value, T> cl::sycl::frexp ( T  x,
T2  exp 
)

Definition at line 246 of file builtins.hpp.

References cl::sycl::half_precision::exp().

◆ get_kernel_bundle() [1/8]

template<bundle_state State>
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx)

Definition at line 412 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ get_kernel_bundle() [2/8]

template<typename KernelName , bundle_state State>
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx)

Definition at line 452 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ get_kernel_bundle() [3/8]

template<bundle_state State>
kernel_bundle<State> cl::sycl::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.

This does not include any device built-in kernels. The bundle’s set of associated devices is Devs.

Definition at line 401 of file kernel_bundle.hpp.

References cl::sycl::detail::get_kernel_bundle_impl(), and cl::sycl::detail::removeDuplicateDevices().

◆ get_kernel_bundle() [4/8]

template<typename KernelName , bundle_state State>
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx,
const std::vector< device > &  Devs 
)

Definition at line 458 of file kernel_bundle.hpp.

◆ get_kernel_bundle() [5/8]

template<bundle_state State>
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx,
const std::vector< device > &  Devs,
const std::vector< kernel_id > &  KernelIDs 
)
Returns
a kernel bundle in state State which contains all of the device images that are compatible with at least one of the devices in Devs, further filtered to contain only those device images that contain kernels with the given identifiers. These identifiers may represent kernels that are defined in the application, device built-in kernels, or a mixture of the two. Since the device images may group many kernels together, the returned bundle may contain additional kernels beyond those that are requested in KernelIDs. The bundle’s set of associated devices is Devs.

Definition at line 436 of file kernel_bundle.hpp.

References cl::sycl::detail::get_kernel_bundle_impl(), and cl::sycl::detail::removeDuplicateDevices().

◆ get_kernel_bundle() [6/8]

template<bundle_state State, typename SelectorT >
kernel_bundle<State> cl::sycl::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.

Definition at line 494 of file kernel_bundle.hpp.

References cl::sycl::detail::createSyclObjFromImpl(), cl::sycl::detail::get_kernel_bundle_impl(), and cl::sycl::detail::removeDuplicateDevices().

◆ get_kernel_bundle() [7/8]

template<bundle_state State>
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx,
const std::vector< kernel_id > &  KernelIDs 
)

Definition at line 447 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ get_kernel_bundle() [8/8]

template<bundle_state State, typename SelectorT >
kernel_bundle<State> cl::sycl::get_kernel_bundle ( const context Ctx,
SelectorT  Selector 
)

Definition at line 512 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ get_kernel_id()

template<typename KernelName >
kernel_id cl::sycl::get_kernel_id ( )
Returns
the kernel_id associated with the KernelName

Definition at line 360 of file kernel_bundle.hpp.

References cl::sycl::detail::get_kernel_id_impl().

◆ get_kernel_ids()

std::vector< kernel_id > cl::sycl::get_kernel_ids ( )
Returns
a vector with all kernel_id's defined in the application

Definition at line 286 of file kernel_bundle.cpp.

Referenced by cl::sycl::kernel_bundle< bundle_state::executable >::get_kernel_ids().

◆ get_native() [1/4]

template<backend BackendName, typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
auto cl::sycl::get_native ( const accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &  Obj) -> typename detail::interop< BackendName, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >>::type=delete
delete

◆ get_native() [2/4]

template<backend BackendName, typename DataT , int Dimensions, typename AllocatorT , std::enable_if_t< BackendName !=backend::opencl > * = nullptr>
auto cl::sycl::get_native ( const buffer< DataT, Dimensions, AllocatorT > &  Obj) -> backend_return_t<BackendName, buffer<DataT, Dimensions, AllocatorT>>

Definition at line 150 of file backend.hpp.

◆ get_native() [3/4]

template<backend BackendName, class SyclObjectT >
auto cl::sycl::get_native ( const SyclObjectT &  Obj) -> backend_return_t<BackendName, SyclObjectT>

Definition at line 123 of file backend.hpp.

◆ get_native() [4/4]

template<backend Backend, class SyclT >
auto cl::sycl::get_native ( const SyclT &  Obj) -> backend_return_t< Backend, SyclT >

◆ get_native< backend::ext_oneapi_cuda, context >()

Definition at line 41 of file cuda.hpp.

◆ get_native< backend::ext_oneapi_level_zero >()

◆ get_pointer_device()

device cl::sycl::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.

Queries the device against which the pointer was allocated.

Parameters
ptris the USM pointer to query
ctxtis the sycl context the ptr was allocated in
Ptris the USM pointer to query
Ctxtis the sycl context the ptr was allocated in

Definition at line 527 of file usm_impl.cpp.

References cl::sycl::detail::plugin::call(), cl::sycl::context::get_devices(), get_pointer_type(), cl::sycl::detail::getSyclObjImpl(), cl::sycl::context::is_host(), PI_MEM_ALLOC_DEVICE, and piextUSMGetMemAllocInfo().

◆ get_pointer_type()

alloc cl::sycl::get_pointer_type ( const void *  Ptr,
const context Ctxt 
)

Query the allocation type from a USM pointer.

Query the allocation type from a USM pointer Returns alloc::host for all pointers in a host context.

Parameters
ptris the USM pointer to query
ctxtis the sycl context the ptr was allocated in
Ptris the USM pointer to query
Ctxtis the sycl context the ptr was allocated in

Definition at line 477 of file usm_impl.cpp.

References cl::sycl::detail::plugin::call_nocheck(), cl::sycl::detail::getSyclObjImpl(), cl::sycl::context::is_host(), PI_MEM_ALLOC_TYPE, PI_MEM_TYPE_DEVICE, PI_MEM_TYPE_HOST, PI_MEM_TYPE_SHARED, piextUSMGetMemAllocInfo(), and cl::sycl::detail::plugin::reportPiError().

Referenced by get_pointer_device().

◆ getDevicePreference()

◆ getHandlerImplMember()

static detail::ExtendedMemberT& cl::sycl::getHandlerImplMember ( std::vector< std::shared_ptr< const void >> &  SharedPtrStorage)
static

◆ group_barrier()

template<typename Group >
std::enable_if<is_group_v<Group> >::type cl::sycl::group_barrier ( Group  ,
memory_scope  FenceScope = Group::fence_scope 
)

◆ group_broadcast() [1/3]

template<typename Group , typename T >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && (std::is_trivially_copyable<T>::value || detail::is_vec<T>::value)), T> cl::sycl::group_broadcast ( Group  g,
T  x 
)

◆ group_broadcast() [2/3]

template<typename Group , typename T >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && (std::is_trivially_copyable<T>::value || detail::is_vec<T>::value)), T> cl::sycl::group_broadcast ( Group  g,
T  x,
typename Group::linear_id_type  linear_local_id 
)

Definition at line 565 of file group_algorithm.hpp.

References group_broadcast(), and cl::sycl::detail::linear_id_to_id().

◆ group_broadcast() [3/3]

template<typename Group , typename T >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && (std::is_trivially_copyable<T>::value || detail::is_vec<T>::value)), T> cl::sycl::group_broadcast ( Group  ,
T  x,
typename Group::id_type  local_id 
)

Definition at line 549 of file group_algorithm.hpp.

◆ group_local_memory()

template<typename T , typename Group , typename... Args>
std::enable_if_t< std::is_trivially_destructible<T>::value && detail::is_group<Group>::value, multi_ptr<T, access::address_space::local_space> > __SYCL_ALWAYS_INLINE cl::sycl::group_local_memory ( Group  g,
Args &&...  args 
)

◆ hadd() [1/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, T> cl::sycl::hadd ( T  x,
T  y 
)

Definition at line 672 of file builtins.hpp.

◆ hadd() [2/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::hadd ( T  x,
T  y 
)

Definition at line 679 of file builtins.hpp.

◆ has_kernel_bundle() [1/6]

template<bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx)

Definition at line 553 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ has_kernel_bundle() [2/6]

template<typename KernelName , bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx)

Definition at line 564 of file kernel_bundle.hpp.

◆ has_kernel_bundle() [3/6]

template<bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx,
const std::vector< device > &  Devs 
)
Returns
true if the following is true: The application defines at least one kernel that is compatible with at least one of the devices in Devs, and that kernel can be represented in a device image of state State.

If State is bundle_state::input, all devices in Devs have aspect::online_compiler.

If State is bundle_state::object, all devices in Devs have aspect::online_linker.

Definition at line 543 of file kernel_bundle.hpp.

References cl::sycl::detail::has_kernel_bundle_impl().

◆ has_kernel_bundle() [4/6]

template<typename KernelName , bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx,
const std::vector< device > &  Devs 
)

Definition at line 569 of file kernel_bundle.hpp.

◆ has_kernel_bundle() [5/6]

template<bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx,
const std::vector< device > &  Devs,
const std::vector< kernel_id > &  KernelIDs 
)

Definition at line 548 of file kernel_bundle.hpp.

References cl::sycl::detail::has_kernel_bundle_impl().

◆ has_kernel_bundle() [6/6]

template<bundle_state State>
bool cl::sycl::has_kernel_bundle ( const context Ctx,
const std::vector< kernel_id > &  KernelIDs 
)

Definition at line 558 of file kernel_bundle.hpp.

References cl::sycl::context::get_devices().

◆ hypot()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::hypot ( T  x,
T  y 
)

Definition at line 253 of file builtins.hpp.

◆ ilogb()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::change_base_type_t<T, int> cl::sycl::ilogb ( T  x)

Definition at line 260 of file builtins.hpp.

◆ inclusive_scan_over_group() [1/5]

template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_vector_arithmetic<T>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::inclusive_scan_over_group ( Group  g,
T  x,
BinaryOperation  binary_op 
)

Definition at line 815 of file group_algorithm.hpp.

References inclusive_scan_over_group().

◆ inclusive_scan_over_group() [2/5]

template<typename Group , typename T , class BinaryOperation >
detail::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> cl::sycl::inclusive_scan_over_group ( Group  g,
T  x,
BinaryOperation  binary_op 
)

Definition at line 858 of file group_algorithm.hpp.

References inclusive_scan_over_group().

◆ inclusive_scan_over_group() [3/5]

template<typename Group , typename V , class BinaryOperation , typename T >
detail::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<V, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value && detail::is_plus_if_complex<T, BinaryOperation>::value && detail::is_plus_if_complex<V, BinaryOperation>::value), T> cl::sycl::inclusive_scan_over_group ( Group  g,
x,
BinaryOperation  binary_op,
T  init 
)

◆ inclusive_scan_over_group() [4/5]

template<typename Group , typename V , class BinaryOperation , typename T >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_vector_arithmetic<V>::value && detail::is_vector_arithmetic<T>::value && detail::is_native_op<V, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::inclusive_scan_over_group ( Group  g,
x,
BinaryOperation  binary_op,
T  init 
)

◆ inclusive_scan_over_group() [5/5]

template<typename Group , typename T , class BinaryOperation >
detail::enable_if_t<(is_group_v<std::decay_t<Group>> && detail::is_scalar_arithmetic<T>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::inclusive_scan_over_group ( Group  ,
T  x,
BinaryOperation  binary_op 
)

Definition at line 835 of file group_algorithm.hpp.

References __spv::InclusiveScan.

◆ interop_handle::get_native_context< backend::ext_oneapi_cuda >()

◆ is_compatible() [1/2]

template<typename KernelName >
bool cl::sycl::is_compatible ( const device Dev)

Definition at line 581 of file kernel_bundle.hpp.

◆ is_compatible() [2/2]

bool cl::sycl::is_compatible ( const std::vector< kernel_id > &  KernelIDs,
const device Dev 
)
Returns
true if all of the kernels identified by KernelIDs are compatible with the device Dev.

◆ isequal()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isequal ( T  x,
T  y 
)

Definition at line 1120 of file builtins.hpp.

◆ isfinite()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isfinite ( T  x)

Definition at line 1204 of file builtins.hpp.

◆ isgreater()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isgreater ( T  x,
T  y 
)

Definition at line 1144 of file builtins.hpp.

◆ isgreaterequal()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isgreaterequal ( T  x,
T  y 
)

Definition at line 1156 of file builtins.hpp.

◆ isinf()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isinf ( T  x)

Definition at line 1216 of file builtins.hpp.

Referenced by cl::sycl::detail::checkForInfNan().

◆ isless()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isless ( T  x,
T  y 
)

Definition at line 1168 of file builtins.hpp.

◆ islessequal()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::islessequal ( T  x,
T  y 
)

Definition at line 1180 of file builtins.hpp.

◆ islessgreater()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::islessgreater ( T  x,
T  y 
)

Definition at line 1192 of file builtins.hpp.

◆ isnan()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isnan ( T  x)

Definition at line 1228 of file builtins.hpp.

Referenced by cl::sycl::detail::checkForInfNan().

◆ isnormal()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isnormal ( T  x)

Definition at line 1240 of file builtins.hpp.

◆ isnotequal()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isnotequal ( T  x,
T  y 
)

Definition at line 1132 of file builtins.hpp.

◆ isordered()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isordered ( T  x,
T  y 
)

Definition at line 1252 of file builtins.hpp.

◆ isunordered()

template<typename T , typename = detail::enable_if_t<detail::is_genfloat<T>::value, T>>
detail::common_rel_ret_t<T> cl::sycl::isunordered ( T  x,
T  y 
)

Definition at line 1264 of file builtins.hpp.

◆ join()

template<sycl::bundle_state State>
sycl::kernel_bundle<State> cl::sycl::join ( const std::vector< sycl::kernel_bundle< State >> &  Bundles)
Returns
a new kernel bundle that represents the union of all the device images in the input bundles with duplicates removed.

Definition at line 604 of file kernel_bundle.hpp.

References cl::sycl::detail::getSyclObjImpl(), and cl::sycl::detail::join_impl().

Referenced by ze_api_generator::snake_to_camel().

◆ joint_all_of()

template<typename Group , typename Ptr , class Predicate >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<Ptr>::value), bool> cl::sycl::joint_all_of ( Group  g,
Ptr  first,
Ptr  last,
Predicate  pred 
)

◆ joint_any_of()

template<typename Group , typename Ptr , class Predicate >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<Ptr>::value), bool> cl::sycl::joint_any_of ( Group  g,
Ptr  first,
Ptr  last,
Predicate  pred 
)

◆ joint_exclusive_scan() [1/2]

template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<InPtr>::value && detail::is_pointer<OutPtr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<InPtr>::type>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_plus_if_complex<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value), OutPtr> cl::sycl::joint_exclusive_scan ( Group  g,
InPtr  first,
InPtr  last,
OutPtr  result,
BinaryOperation  binary_op 
)

Definition at line 791 of file group_algorithm.hpp.

Referenced by cl::sycl::ext::oneapi::__SYCL2020_DEPRECATED().

◆ joint_exclusive_scan() [2/2]

template<typename Group , typename InPtr , typename OutPtr , typename T , class BinaryOperation >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<InPtr>::value && detail::is_pointer<OutPtr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<InPtr>::type>::value && detail::is_arithmetic_or_complex<T>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value && detail::is_plus_if_complex<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_plus_if_complex<T, BinaryOperation>::value), OutPtr> cl::sycl::joint_exclusive_scan ( Group  g,
InPtr  first,
InPtr  last,
OutPtr  result,
T  init,
BinaryOperation  binary_op 
)

◆ joint_inclusive_scan() [1/2]

template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<InPtr>::value && detail::is_pointer<OutPtr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<InPtr>::type>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_plus_if_complex<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value), OutPtr> cl::sycl::joint_inclusive_scan ( Group  g,
InPtr  first,
InPtr  last,
OutPtr  result,
BinaryOperation  binary_op 
)

Definition at line 993 of file group_algorithm.hpp.

Referenced by cl::sycl::ext::oneapi::__SYCL2020_DEPRECATED().

◆ joint_inclusive_scan() [2/2]

template<typename Group , typename InPtr , typename OutPtr , class BinaryOperation , typename T >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<InPtr>::value && detail::is_pointer<OutPtr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<InPtr>::type>::value && detail::is_arithmetic_or_complex<T>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value && detail::is_plus_if_complex<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_plus_if_complex<T, BinaryOperation>::value), OutPtr> cl::sycl::joint_inclusive_scan ( Group  g,
InPtr  first,
InPtr  last,
OutPtr  result,
BinaryOperation  binary_op,
T  init 
)

◆ joint_none_of()

template<typename Group , typename Ptr , class Predicate >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<Ptr>::value), bool> cl::sycl::joint_none_of ( Group  g,
Ptr  first,
Ptr  last,
Predicate  pred 
)

Definition at line 452 of file group_algorithm.hpp.

References joint_any_of().

Referenced by cl::sycl::ext::oneapi::__SYCL2020_DEPRECATED().

◆ joint_reduce() [1/2]

template<typename Group , typename Ptr , class BinaryOperation >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<Ptr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<Ptr>::type>::value && detail::is_plus_if_complex<typename detail::remove_pointer<Ptr>::type, BinaryOperation>::value), typename detail::remove_pointer<Ptr>::type> cl::sycl::joint_reduce ( Group  g,
Ptr  first,
Ptr  last,
BinaryOperation  binary_op 
)

Definition at line 301 of file group_algorithm.hpp.

References joint_reduce().

◆ joint_reduce() [2/2]

template<typename Group , typename Ptr , typename T , class BinaryOperation >
detail::enable_if_t< (is_group_v<std::decay_t<Group>> && detail::is_pointer<Ptr>::value && detail::is_arithmetic_or_complex< typename detail::remove_pointer<Ptr>::type>::value && detail::is_arithmetic_or_complex<T>::value && detail::is_native_op<typename detail::remove_pointer<Ptr>::type, BinaryOperation>::value && detail::is_plus_if_complex<typename detail::remove_pointer<Ptr>::type, BinaryOperation>::value && detail::is_plus_if_complex<T, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::joint_reduce ( Group  g,
Ptr  first,
Ptr  last,
T  init,
BinaryOperation  binary_op 
)

◆ ldexp() [1/3]

template<typename T >
detail::enable_if_t<detail::is_sgenfloat<T>::value, T> cl::sycl::ldexp ( T  x,
int  k 
)

Definition at line 268 of file builtins.hpp.

◆ ldexp() [2/3]

template<typename T >
detail::enable_if_t<detail::is_vgenfloat<T>::value, T> cl::sycl::ldexp ( T  x,
int  k 
)

Definition at line 275 of file builtins.hpp.

◆ ldexp() [3/3]

template<typename T , typename T2 >
detail::enable_if_t< detail::is_vgenfloat<T>::value && detail::is_intn<T2>::value, T> cl::sycl::ldexp ( T  x,
T2  k 
)

Definition at line 284 of file builtins.hpp.

◆ length() [1/3]

◆ length() [2/3]

template<typename T , typename = detail::enable_if_t<detail::is_gengeodouble<T>::value, T>>
double cl::sycl::length ( T  p)

Definition at line 1039 of file builtins.hpp.

◆ length() [3/3]

template<typename T , typename = detail::enable_if_t<detail::is_gengeohalf<T>::value, T>>
half cl::sycl::length ( T  p)

Definition at line 1046 of file builtins.hpp.

◆ lgamma()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::lgamma ( T  x)

Definition at line 291 of file builtins.hpp.

◆ lgamma_r()

template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat<T>::value && detail::is_genintptr<T2>::value, T> cl::sycl::lgamma_r ( T  x,
T2  signp 
)

Definition at line 299 of file builtins.hpp.

◆ link() [1/4]

kernel_bundle<bundle_state::executable> cl::sycl::link ( const kernel_bundle< bundle_state::object > &  ObjectBundle,
const property_list PropList = {} 
)
inline

Definition at line 678 of file kernel_bundle.hpp.

◆ link() [2/4]

kernel_bundle<bundle_state::executable> cl::sycl::link ( const kernel_bundle< bundle_state::object > &  ObjectBundle,
const std::vector< device > &  Devs,
const property_list PropList = {} 
)
inline

Definition at line 693 of file kernel_bundle.hpp.

◆ link() [3/4]

kernel_bundle<bundle_state::executable> cl::sycl::link ( const std::vector< kernel_bundle< bundle_state::object >> &  ObjectBundles,
const property_list PropList = {} 
)
inline

Definition at line 685 of file kernel_bundle.hpp.

◆ link() [4/4]

kernel_bundle<bundle_state::executable> cl::sycl::link ( const std::vector< kernel_bundle< bundle_state::object >> &  ObjectBundles,
const std::vector< device > &  Devs,
const property_list PropList = {} 
)
inline
Returns
a new kernel_bundle which contains the device images from the ObjectBundles that are translated into one or more new device images of state bundle_state::executable The new bundle represents all of the kernels in ObjectBundles that are compatible with at least one of the devices in Devs.

Definition at line 667 of file kernel_bundle.hpp.

Referenced by cl::sycl::detail::ProgramManager::bringSYCLDeviceImagesToState().

◆ log() [1/2]

template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE sycl::ext::intel::esimd::simd<float, SZ> cl::sycl::log ( sycl::ext::intel::esimd::simd< float, SZ >  x)

Definition at line 60 of file builtins_esimd.hpp.

◆ log() [2/2]

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::log ( T  x)

Definition at line 306 of file builtins.hpp.

◆ log10()

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::log10 ( T  x)

Definition at line 318 of file builtins.hpp.

◆ log1p()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::log1p ( T  x)

Definition at line 324 of file builtins.hpp.

◆ log2()

template<typename T >
detail::enable_if_t<__FAST_MATH_GENFLOAT(T), T> cl::sycl::log2 ( T  x)

Definition at line 312 of file builtins.hpp.

◆ logb()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::logb ( T  x)

Definition at line 330 of file builtins.hpp.

◆ mad()

template<typename T >
detail::enable_if_t<detail::is_genfloat<T>::value, T> cl::sycl::mad ( T  a,
T  b,
T  c 
)

Definition at line 336 of file builtins.hpp.

References a.

◆ mad24() [1/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger32bit<T>::value, T> cl::sycl::mad24 ( T  x,
T  y,
T  z 
)

Definition at line 940 of file builtins.hpp.

◆ mad24() [2/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger32bit<T>::value, T> cl::sycl::mad24 ( T  x,
T  y,
T  z 
)

Definition at line 948 of file builtins.hpp.

◆ mad_hi() [1/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, T> cl::sycl::mad_hi ( T  x,
T  y,
T  z 
)

Definition at line 759 of file builtins.hpp.

◆ mad_hi() [2/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::mad_hi ( T  x,
T  y,
T  z 
)

Definition at line 766 of file builtins.hpp.

◆ mad_sat() [1/2]

template<typename T >
detail::enable_if_t<detail::is_igeninteger<T>::value, T> cl::sycl::mad_sat ( T  a,
T  b,
T  c 
)

Definition at line 773 of file builtins.hpp.

References a.

◆ mad_sat() [2/2]

template<typename T >
detail::enable_if_t<detail::is_ugeninteger<T>::value, T> cl::sycl::mad_sat ( T  a,
T  b,
T  c 
)

Definition at line 780 of file builtins.hpp.

References a.

◆ make_buffer() [1/3]

template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = detail::default_buffer_allocator<T>>
std::enable_if<Backend == backend::ext_oneapi_level_zero, buffer<T, Dimensions, AllocatorT> >::type cl::sycl::make_buffer ( const backend_input_t< backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT >> &  BackendObject,
const context TargetContext 
)

Definition at line 214 of file level_zero.hpp.

◆ make_buffer() [2/3]

template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = detail::default_buffer_allocator<T>>
std::enable_if<Backend == backend::ext_oneapi_level_zero, buffer<T, Dimensions, AllocatorT> >::type cl::sycl::make_buffer ( const backend_input_t< backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT >> &  BackendObject,
const context TargetContext,
event  AvailableEvent 
)

Definition at line 199 of file level_zero.hpp.

◆ make_buffer() [3/3]

template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = detail::default_buffer_allocator<T>>
std::enable_if<detail::InteropFeatureSupportMap<Backend>::MakeBuffer == true && Backend != backend::ext_oneapi_level_zero, buffer<T, Dimensions, AllocatorT> >::type cl::sycl::make_buffer ( const typename backend_traits< Backend >::template input_type< buffer< T, Dimensions, AllocatorT >> &  BackendObject,
const context TargetContext,
event  AvailableEvent = {} 
)

Definition at line 330 of file backend.hpp.

◆ make_context()

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeContext == true, context>::type cl::sycl::make_context ( const typename backend_traits< Backend >::template input_type< context > &  BackendObject,
const async_handler Handler = {} 
)

Definition at line 271 of file backend.hpp.

◆ make_context< backend::ext_oneapi_level_zero >()

◆ make_device()

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeDevice == true, device>::type cl::sycl::make_device ( const typename backend_traits< Backend >::template input_type< device > &  BackendObject)

Definition at line 261 of file backend.hpp.

◆ make_device< backend::ext_oneapi_cuda >()

Definition at line 76 of file cuda.hpp.

References cl::sycl::ext::oneapi::cuda::make_device().

◆ make_error_code()

◆ make_event() [1/2]

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeEvent == true, event>::type cl::sycl::make_event ( const typename backend_traits< Backend >::template input_type< event > &  BackendObject,
const context TargetContext 
)

Definition at line 305 of file backend.hpp.

References make_event().

◆ make_event() [2/2]

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeEvent == true, event>::type cl::sycl::make_event ( const typename backend_traits< Backend >::template input_type< event > &  BackendObject,
const context TargetContext,
bool  KeepOwnership 
)

Definition at line 316 of file backend.hpp.

Referenced by make_event().

◆ make_event< backend::ext_oneapi_cuda >()

template<>
event cl::sycl::make_event< backend::ext_oneapi_cuda > ( const backend_input_t< backend::ext_oneapi_cuda, event > &  BackendObject,
const context TargetContext 
)
inline

Definition at line 84 of file cuda.hpp.

References cl::sycl::detail::make_event().

◆ make_event< backend::ext_oneapi_level_zero >()

template<>
event cl::sycl::make_event< backend::ext_oneapi_level_zero > ( const backend_input_t< backend::ext_oneapi_level_zero, event > &  BackendObject,
const context TargetContext 
)
inline

Definition at line 154 of file level_zero.hpp.

References cl::sycl::ext::oneapi::level_zero::make_event().

◆ make_kernel()

template<backend Backend>
kernel cl::sycl::make_kernel ( const typename backend_traits< Backend >::template input_type< kernel > &  BackendObject,
const context TargetContext 
)

Definition at line 340 of file backend.hpp.

◆ make_kernel< backend::ext_oneapi_level_zero >()

template<>
kernel cl::sycl::make_kernel< backend::ext_oneapi_level_zero > ( const backend_input_t< backend::ext_oneapi_level_zero, kernel > &  BackendObject,
const context TargetContext 
)
inline

Definition at line 183 of file level_zero.hpp.

References cl::sycl::detail::make_kernel().

◆ make_kernel_bundle()

template<backend Backend, bundle_state State>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeKernelBundle == true, kernel_bundle<State> >::type cl::sycl::make_kernel_bundle ( const typename backend_traits< Backend >::template input_type< kernel_bundle< State >> &  BackendObject,
const context TargetContext 
)

Definition at line 351 of file backend.hpp.

◆ make_kernel_bundle< backend::ext_oneapi_level_zero, bundle_state::executable >()

◆ make_platform()

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakePlatform == true, platform>::type cl::sycl::make_platform ( const typename backend_traits< Backend >::template input_type< platform > &  BackendObject)

Definition at line 251 of file backend.hpp.

◆ make_ptr()

template<typename ElementType , access::address_space Space>
multi_ptr<ElementType, Space> cl::sycl::make_ptr ( typename multi_ptr< ElementType, Space >::pointer_t  pointer)

Definition at line 605 of file multi_ptr.hpp.

◆ make_queue() [1/2]

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeQueue == true, queue>::type cl::sycl::make_queue ( const typename backend_traits< Backend >::template input_type< queue > &  BackendObject,
const context TargetContext,
bool  KeepOwnership,
const async_handler  Handler = {} 
)

Definition at line 283 of file backend.hpp.

◆ make_queue() [2/2]

template<backend Backend>
std::enable_if< detail::InteropFeatureSupportMap<Backend>::MakeQueue == true, queue>::type cl::sycl::make_queue ( const typename backend_traits< Backend >::template input_type< queue > &  BackendObject,
const context TargetContext,
const async_handler  Handler = {} 
)

Definition at line 295 of file backend.hpp.

◆ make_queue< backend::ext_oneapi_cuda >()

template<>
queue cl::sycl::make_queue< backend::ext_oneapi_cuda > ( const backend_input_t< backend::ext_oneapi_cuda, queue > &  BackendObject,
const context TargetContext,
const async_handler  Handler 
)
inline

Definition at line 94 of file cuda.hpp.

References cl::sycl::opencl::make_queue().

◆ make_queue< backend::ext_oneapi_level_zero >()