DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
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
 
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...
 
struct  interop
 
struct  interop< backend::cuda, accessor< DataT, Dimensions, AccessMode, access::target::constant_buffer, access::placeholder::false_t > >
 
struct  interop< backend::cuda, accessor< DataT, Dimensions, AccessMode, access::target::global_buffer, access::placeholder::false_t > >
 
struct  interop< backend::cuda, buffer< DataT, Dimensions, AllocatorT > >
 
struct  interop< backend::cuda, context >
 
struct  interop< backend::cuda, device >
 
struct  interop< backend::cuda, event >
 
struct  interop< backend::cuda, program >
 
struct  interop< backend::cuda, queue >
 
struct  interop< backend::level_zero, accessor< DataT, Dimensions, AccessMode, access::target::constant_buffer, access::placeholder::false_t > >
 
struct  interop< backend::level_zero, accessor< DataT, Dimensions, AccessMode, access::target::global_buffer, access::placeholder::false_t > >
 
struct  interop< backend::level_zero, accessor< DataT, Dimensions, AccessMode, access::target::image, access::placeholder::false_t > >
 
struct  interop< backend::level_zero, context >
 
struct  interop< backend::level_zero, device >
 
struct  interop< backend::level_zero, event >
 
struct  interop< backend::level_zero, platform >
 
struct  interop< backend::level_zero, program >
 
struct  interop< backend::level_zero, queue >
 
struct  interop< backend::opencl, accessor< DataT, Dimensions, AccessMode, access::target::constant_buffer, access::placeholder::false_t > >
 
struct  interop< backend::opencl, accessor< DataT, Dimensions, AccessMode, access::target::global_buffer, access::placeholder::false_t > >
 
struct  interop< backend::opencl, accessor< DataT, Dimensions, AccessMode, access::target::image, access::placeholder::false_t > >
 
struct  interop< backend::opencl, buffer< DataT, Dimensions, AllocatorT > >
 
struct  interop< backend::opencl, context >
 
struct  interop< backend::opencl, device >
 
struct  interop< backend::opencl, event >
 
struct  interop< backend::opencl, platform >
 
struct  interop< backend::opencl, program >
 
struct  interop< backend::opencl, queue >
 
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< 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 > >
 
struct  is_device_copyable< T, std::enable_if_t< std::is_trivially_copyable< T >::value > >
 
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
 
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 global_ptr = multi_ptr< ElementType, access::address_space::global_space >
 
template<typename ElementType >
using device_ptr = multi_ptr< ElementType, access::address_space::global_device_space >
 
template<typename ElementType >
using host_ptr = multi_ptr< ElementType, access::address_space::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 >
 
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::int64_base_atomics = 7,
  aspect::int64_extended_atomics = 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
}
 
enum  backend : char {
  backend::host = 0, backend::opencl = 1, backend::ext_oneapi_level_zero = 2, backend::__SYCL2020_DEPRECATED,
  backend::cuda = 3, backend::all = 4, backend::esimd_cpu = 5, backend::hip = 6
}
 
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  program_state { program_state::none = 0, program_state::compiled = 1, program_state::linked = 2 }
 
enum  addressing_mode : unsigned int {
  addressing_mode::mirrored_repeat = CL_ADDRESS_MIRRORED_REPEAT, addressing_mode::repeat = CL_ADDRESS_REPEAT, addressing_mode::clamp_to_edge = CL_ADDRESS_CLAMP_TO_EDGE, addressing_mode::clamp = CL_ADDRESS_CLAMP,
  addressing_mode::none = CL_ADDRESS_NONE
}
 
enum  filtering_mode : unsigned int { filtering_mode::nearest = CL_FILTER_NEAREST, filtering_mode::linear = CL_FILTER_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>
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, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
auto get_native (const accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &Obj) -> typename 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 = buffer_allocator>
std::enable_if< detail::InteropFeatureSupportMap< Backend >::MakeBuffer==true, 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< detail::is_genfloat< T >::value, 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< detail::is_genfloat< T >::value, Texp (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Texp2 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, 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< detail::is_genfloat< T >::value, Tlog (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, Tlog2 (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, 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< detail::is_genfloat< T >::value, 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< detail::is_genfloat< T >::value, Trsqrt (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, 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< detail::is_genfloat< T >::value, Tsqrt (T x) __NOEXC
 
template<typename T >
detail::enable_if_t< detail::is_genfloat< T >::value, 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
 
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 , 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 __ESIMD_NS::simd< float, SZ > cos (__ESIMD_NS::simd< float, SZ > x) __NOEXC
 
template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE __ESIMD_NS::simd< float, SZ > sin (__ESIMD_NS::simd< float, SZ > x) __NOEXC
 
template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE __ESIMD_NS::simd< float, SZ > exp (__ESIMD_NS::simd< float, SZ > x) __NOEXC
 
template<int SZ>
ESIMD_NODEBUG ESIMD_INLINE __ESIMD_NS::simd< float, SZ > log (__ESIMD_NS::simd< float, SZ > x) __NOEXC
 
namespace __SYCL2020_DEPRECATED ("use 'ext::oneapi' instead") ONEAPI
 
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_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_scalar_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 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< typename detail::remove_pointer< Ptr >::type >::value), typename detail::remove_pointer< Ptr >::typejoint_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< typename detail::remove_pointer< Ptr >::type >::value &&detail::is_arithmetic< T >::value &&detail::is_native_op< typename detail::remove_pointer< Ptr >::type, 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 &&detail::is_arithmetic< 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 &&detail::is_arithmetic< 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 &&detail::is_arithmetic< 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 &&detail::is_arithmetic< 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 >> &&detail::is_scalar_arithmetic< 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 >> &&detail::is_scalar_arithmetic< 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 >> &&detail::is_scalar_arithmetic< 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_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_scalar_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 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< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic< T >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_native_op< 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< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_native_op< 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 V , class BinaryOperation , typename T >
detail::enable_if_t<(is_group_v< std::decay_t< Group >> &&detail::is_scalar_arithmetic< V >::value &&detail::is_scalar_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 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< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_arithmetic< T >::value &&detail::is_native_op< typename detail::remove_pointer< InPtr >::type, BinaryOperation >::value &&detail::is_native_op< 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< typename detail::remove_pointer< InPtr >::type >::value &&detail::is_native_op< 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<backend Backend, class SyclT >
auto get_native (const SyclT &Obj) -> backend_return_t< Backend, SyclT >
 
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 ()
 
class __SYCL2020_DEPRECATED ("program class is deprecated, use kernel_bundle instead") program
 Provides an abstraction of a SYCL program. 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, 1, false, access::placeholder::true_t > > 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, 1, false, access::placeholder::true_t > > 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, 1, true > > 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, 1, true > > 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, 1, false, access::placeholder::true_treduction (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, 1, true > 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)
 
void free (void *ptr, const context &ctxt)
 
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 &propList)
 
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 &propList)
 
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 queue &q)
 
void * malloc_host (size_t size, const context &ctxt)
 
void * malloc_host (size_t size, const context &ctxt, const property_list &propList)
 
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 &propList)
 
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 &propList)
 
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 &propList)
 
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, usm::alloc kind)
 
void * malloc (size_t size, const device &dev, const context &ctxt, usm::alloc kind, const property_list &propList)
 
void * malloc (size_t size, const queue &q, usm::alloc kind)
 
void * malloc (size_t size, const queue &q, usm::alloc kind, const property_list &propList)
 
void * aligned_alloc (size_t alignment, size_t size, const device &dev, const context &ctxt, usm::alloc kind)
 
void * aligned_alloc (size_t alignment, size_t size, const queue &q, usm::alloc kind)
 
void * aligned_alloc (size_t alignment, size_t size, const queue &q, usm::alloc kind, const property_list &propList)
 
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...
 
namespace __SYCL2020_DEPRECATED ("use 'ext::intel::experimental' instead") INTEL
 
template<>
context make_context< backend::level_zero > (const backend_input_t< backend::level_zero, context > &BackendObject, const async_handler &Handler)
 
template<>
queue make_queue< backend::level_zero > (const backend_input_t< backend::level_zero, queue > &BackendObject, const context &TargetContext, const async_handler Handler)
 
template<>
event make_event< backend::level_zero > (const backend_input_t< backend::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<>
auto get_native< backend::level_zero > (const kernel_bundle< bundle_state::executable > &Obj) -> backend_return_t< backend::level_zero, kernel_bundle< bundle_state::executable >>
 
namespace __SYCL2020_DEPRECATED ("use 'ext::oneapi::level_zero' instead") level_zero
 
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 bool isDeviceOfPreferredSyclBe (const device &Device)
 
static bool isForcedDevice (const device &Dev, int Index=-1)
 
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
 
static size_t CheckMaxStatementSize (const size_t &MaxStatementSize)
 

Variables

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
 
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 63 of file access.hpp.

◆ alloc

Definition at line 22 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 62 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 66 of file backend.hpp.

◆ bit_and

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

Definition at line 17 of file functional.hpp.

◆ bit_or

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

Definition at line 18 of file functional.hpp.

◆ bit_xor

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

Definition at line 19 of file functional.hpp.

◆ buffer_allocator

◆ byte

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

Definition at line 62 of file image.hpp.

◆ cl_bool

using cl::sycl::cl_bool = typedef bool

Definition at line 80 of file aliases.hpp.

◆ cl_char

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

Definition at line 81 of file aliases.hpp.

◆ cl_double

using cl::sycl::cl_double = typedef double

Definition at line 91 of file aliases.hpp.

◆ cl_float

using cl::sycl::cl_float = typedef float

Definition at line 90 of file aliases.hpp.

◆ cl_half

using cl::sycl::cl_half = typedef half

Definition at line 89 of file aliases.hpp.

◆ cl_int

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

Definition at line 85 of file aliases.hpp.

◆ cl_long

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

Definition at line 87 of file aliases.hpp.

◆ cl_short

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

Definition at line 83 of file aliases.hpp.

◆ cl_uchar

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

Definition at line 82 of file aliases.hpp.

◆ cl_uint

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

Definition at line 86 of file aliases.hpp.

◆ cl_ulong

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

Definition at line 88 of file aliases.hpp.

◆ cl_ushort

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

Definition at line 84 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 35 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::global_device_space>

Definition at line 24 of file pointers.hpp.

◆ errc_for

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

Definition at line 45 of file exception.hpp.

◆ global_ptr

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

Definition at line 20 of file pointers.hpp.

◆ half

Definition at line 79 of file aliases.hpp.

◆ host_ptr

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

Definition at line 28 of file pointers.hpp.

◆ image_allocator

Definition at line 64 of file image.hpp.

◆ instead

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

Definition at line 71 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 31 of file pointers.hpp.

◆ logical_and

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

Definition at line 20 of file functional.hpp.

◆ logical_or

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

Definition at line 21 of file functional.hpp.

◆ longlong

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

Definition at line 77 of file aliases.hpp.

◆ multiplies

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

Definition at line 16 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 15 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 39 of file pointers.hpp.

◆ schar

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

Definition at line 72 of file aliases.hpp.

◆ uchar

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

Definition at line 73 of file aliases.hpp.

◆ uint

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

Definition at line 75 of file aliases.hpp.

◆ ulong

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

Definition at line 76 of file aliases.hpp.

◆ ulonglong

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

Definition at line 78 of file aliases.hpp.

◆ ushort

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

Definition at line 74 of file aliases.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 19 of file sampler.hpp.

◆ aspect

enum cl::sycl::aspect
strong
Enumerator
host 
cpu 
gpu 
accelerator 
custom 
fp16 
fp64 
int64_base_atomics 
int64_extended_atomics 
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 

Definition at line 15 of file aspects.hpp.

◆ backend

enum cl::sycl::backend : char
strong
Enumerator
host 
opencl 
ext_oneapi_level_zero 
__SYCL2020_DEPRECATED 
cuda 
all 
esimd_cpu 
hip 

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 32 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 27 of file exception.hpp.

◆ filtering_mode

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

Definition at line 27 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 26 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 44 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 14 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 24 of file memory_enums.hpp.

◆ program_state

Enumerator
none 
compiled 
linked 

Definition at line 31 of file program.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 662 of file stream.hpp.

Function Documentation

◆ __SYCL2020_DEPRECATED() [1/4]

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

Definition at line 738 of file builtins.hpp.

◆ __SYCL2020_DEPRECATED() [2/4]

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

Definition at line 230 of file online_compiler.hpp.

◆ __SYCL2020_DEPRECATED() [3/4]

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

Definition at line 29 of file type_traits.hpp.

◆ __SYCL2020_DEPRECATED() [4/4]

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

Definition at line 288 of file level_zero.hpp.

◆ __SYCL_DEPRECATED() [1/2]

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() [2/2]

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 523 of file builtins.hpp.

Referenced by cl::sycl::detail::floatingPointToDecStr(), and 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 622 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 630 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 636 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 645 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 31 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 37 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 43 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 651 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 658 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/4]

void * cl::sycl::aligned_alloc ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
usm::alloc  kind 
)

◆ aligned_alloc() [2/4]

void * cl::sycl::aligned_alloc ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
usm::alloc  kind,
const property_list propList = {} 
)

◆ aligned_alloc() [3/4]

void * cl::sycl::aligned_alloc ( size_t  alignment,
size_t  size,
const queue q,
usm::alloc  kind 
)

◆ aligned_alloc() [4/4]

void * cl::sycl::aligned_alloc ( size_t  alignment,
size_t  size,
const queue q,
usm::alloc  kind,
const property_list propList = {} 
)

Definition at line 216 of file usm.hpp.

◆ aligned_alloc_device() [1/4]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt 
)

Definition at line 167 of file usm_impl.cpp.

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

Referenced by aligned_alloc_device().

◆ aligned_alloc_device() [2/4]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
const property_list propList = {} 
)

Definition at line 128 of file usm.hpp.

◆ aligned_alloc_device() [3/4]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const queue q 
)

◆ aligned_alloc_device() [4/4]

void * cl::sycl::aligned_alloc_device ( size_t  alignment,
size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 136 of file usm.hpp.

◆ aligned_alloc_host() [1/4]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const context ctxt 
)

Definition at line 230 of file usm_impl.cpp.

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

Referenced by aligned_alloc_host().

◆ aligned_alloc_host() [2/4]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const context ctxt,
const property_list propList = {} 
)

Definition at line 168 of file usm.hpp.

◆ aligned_alloc_host() [3/4]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const queue q 
)

Definition at line 239 of file usm_impl.cpp.

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

◆ aligned_alloc_host() [4/4]

void * cl::sycl::aligned_alloc_host ( size_t  alignment,
size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 175 of file usm.hpp.

◆ aligned_alloc_shared() [1/4]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt 
)

Definition at line 248 of file usm_impl.cpp.

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

Referenced by aligned_alloc_shared().

◆ aligned_alloc_shared() [2/4]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const device dev,
const context ctxt,
const property_list propList = {} 
)

Definition at line 181 of file usm.hpp.

◆ aligned_alloc_shared() [3/4]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const queue q 
)

◆ aligned_alloc_shared() [4/4]

void * cl::sycl::aligned_alloc_shared ( size_t  alignment,
size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 189 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 1288 of file builtins.hpp.

◆ 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 316 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

◆ any() [1/2]

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

Definition at line 1268 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 1274 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 277 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

◆ asin()

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

Definition at line 49 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 55 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 61 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 67 of file builtins.hpp.

◆ atan2()

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

Definition at line 73 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 91 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 79 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 85 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 
)

◆ 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 336 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::exchange().

◆ 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 351 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_add().

◆ 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 363 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_and().

◆ 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 387 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_max().

◆ 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 381 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_min().

◆ 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 369 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_or().

◆ 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 357 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_sub().

◆ 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 375 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::fetch_xor().

◆ 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 330 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::load().

◆ 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 324 of file atomic.hpp.

References cl::sycl::atomic< T, addressSpace >::store().

◆ 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 1296 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 690 of file kernel_bundle.hpp.

◆ 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 681 of file kernel_bundle.hpp.

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

◆ cbrt()

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

Definition at line 98 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 104 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 24 of file stream.cpp.

References MAX_STATEMENT_SIZE, and PI_INVALID_VALUE.

◆ 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 694 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 701 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 509 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 708 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 716 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 723 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 612 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 603 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().

◆ copysign()

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

Definition at line 110 of file builtins.hpp.

◆ cos() [1/2]

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

Definition at line 27 of file builtins_esimd.hpp.

◆ cos() [2/2]

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

Definition at line 117 of file builtins.hpp.

Referenced by __esimd_cos().

◆ cosh()

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

Definition at line 123 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 129 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 959 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 517 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 
)

◆ 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 1003 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 1010 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 968 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 975 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 982 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 988 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 141 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 135 of file builtins.hpp.

◆ exclusive_scan_over_group() [1/4]

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 528 of file group_algorithm.hpp.

References exclusive_scan_over_group().

◆ exclusive_scan_over_group() [2/4]

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 550 of file group_algorithm.hpp.

References exclusive_scan_over_group().

◆ exclusive_scan_over_group() [3/4]

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_scalar_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 
)

◆ exclusive_scan_over_group() [4/4]

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 507 of file group_algorithm.hpp.

References __spv::ExclusiveScan, and PI_INVALID_DEVICE.

◆ exp() [1/2]

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

Definition at line 49 of file builtins_esimd.hpp.

◆ exp() [2/2]

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

Definition at line 147 of file builtins.hpp.

◆ exp10()

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

Definition at line 159 of file builtins.hpp.

◆ exp2()

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

Definition at line 153 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 165 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 1058 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 1065 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 1072 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 1079 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 1086 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 1093 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 177 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]

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

◆ 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 203 of file builtins.hpp.

◆ fmin() [1/2]

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

◆ 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 216 of file builtins.hpp.

◆ fmod()

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

Definition at line 222 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 230 of file builtins.hpp.

◆ free() [1/2]

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

◆ free() [2/2]

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

Definition at line 191 of file usm_impl.cpp.

References cl::sycl::detail::usm::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 239 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 407 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 445 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 398 of file kernel_bundle.hpp.

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

◆ 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 451 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 431 of file kernel_bundle.hpp.

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

◆ 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 472 of file kernel_bundle.hpp.

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

◆ 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 440 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 488 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 372 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 274 of file kernel_bundle.cpp.

Referenced by cl::sycl::kernel_bundle< State >::get_kernel_ids(), and cl::sycl::detail::ProgramManager::link().

◆ get_native() [1/3]

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 interop< BackendName, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >>::type=delete
delete

◆ get_native() [2/3]

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

Definition at line 69 of file backend.hpp.

References PI_INVALID_OPERATION.

Referenced by __SYCL2020_DEPRECATED().

◆ get_native() [3/3]

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

◆ get_native< backend::level_zero >()

template<>
auto cl::sycl::get_native< backend::level_zero > ( const kernel_bundle< bundle_state::executable > &  Obj) -> backend_return_t<backend::level_zero, kernel_bundle<bundle_state::executable>>

Definition at line 277 of file level_zero.hpp.

References PI_INVALID_OPERATION.

◆ 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 380 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_INVALID_OPERATION, PI_INVALID_VALUE, 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 330 of file usm_impl.cpp.

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

Referenced by get_pointer_device().

◆ 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>> && detail::is_scalar_arithmetic<T>::value), T> cl::sycl::group_broadcast ( Group  g,
T  x 
)

Definition at line 490 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

Referenced by group_broadcast(), joint_exclusive_scan(), and joint_inclusive_scan().

◆ group_broadcast() [2/3]

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

◆ group_broadcast() [3/3]

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

Definition at line 457 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

◆ 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 665 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 672 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 529 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 540 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 519 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 545 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 524 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 534 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 246 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 253 of file builtins.hpp.

◆ inclusive_scan_over_group() [1/4]

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 684 of file group_algorithm.hpp.

References inclusive_scan_over_group().

◆ inclusive_scan_over_group() [2/4]

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_scalar_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() [3/4]

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() [4/4]

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 704 of file group_algorithm.hpp.

References __spv::InclusiveScan, and PI_INVALID_DEVICE.

◆ is_compatible() [1/2]

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

Definition at line 557 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.

◆ isDeviceOfPreferredSyclBe()

◆ 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 1105 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 1189 of file builtins.hpp.

◆ isForcedDevice()

◆ 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 1129 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 1141 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 1201 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 1153 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 1165 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 1177 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 1213 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 1225 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 1117 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 1237 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 1249 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 575 of file kernel_bundle.hpp.

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

◆ 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< typename detail::remove_pointer<InPtr>::type>::value && detail::is_native_op<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 661 of file group_algorithm.hpp.

References known_identity_v.

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< typename detail::remove_pointer<InPtr>::type>::value && detail::is_arithmetic<T>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_native_op<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< typename detail::remove_pointer<InPtr>::type>::value && detail::is_native_op<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 830 of file group_algorithm.hpp.

References known_identity_v.

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< typename detail::remove_pointer<InPtr>::type>::value && detail::is_arithmetic<T>::value && detail::is_native_op<typename detail::remove_pointer<InPtr>::type, BinaryOperation>::value && detail::is_native_op<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 375 of file group_algorithm.hpp.

References joint_any_of(), and PI_INVALID_DEVICE.

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<typename detail::remove_pointer<Ptr>::type>::value), typename detail::remove_pointer<Ptr>::type> cl::sycl::joint_reduce ( Group  g,
Ptr  first,
Ptr  last,
BinaryOperation  binary_op 
)

◆ 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<typename detail::remove_pointer<Ptr>::type>::value && detail::is_arithmetic<T>::value && detail::is_native_op<typename detail::remove_pointer<Ptr>::type, 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 261 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 268 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 277 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 1024 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 1031 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 284 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 292 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 645 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 660 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 652 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 636 of file kernel_bundle.hpp.

Referenced by __SYCL2020_DEPRECATED(), and cl::sycl::detail::ProgramManager::bringSYCLDeviceImagesToState().

◆ log() [1/2]

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

Definition at line 60 of file builtins_esimd.hpp.

◆ log() [2/2]

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

Definition at line 299 of file builtins.hpp.

◆ log10()

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

Definition at line 311 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 317 of file builtins.hpp.

◆ log2()

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

Definition at line 305 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 323 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 329 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 925 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 933 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 744 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 751 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 758 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 765 of file builtins.hpp.

References a.

◆ make_buffer()

template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = buffer_allocator>
std::enable_if<detail::InteropFeatureSupportMap<Backend>::MakeBuffer == true, 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 202 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 144 of file backend.hpp.

◆ make_context< backend::level_zero >()

template<>
context cl::sycl::make_context< backend::level_zero > ( const backend_input_t< backend::level_zero, context > &  BackendObject,
const async_handler Handler 
)

Definition at line 225 of file level_zero.hpp.

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

◆ 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 134 of file backend.hpp.

◆ 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 178 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 189 of file backend.hpp.

Referenced by make_event().

◆ make_event< backend::level_zero >()

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

Definition at line 247 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 211 of file backend.hpp.

◆ 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 222 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 124 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 577 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 156 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 168 of file backend.hpp.

◆ make_queue< backend::level_zero >()

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

Definition at line 236 of file level_zero.hpp.

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

◆ make_unique_ptr()

template<typename T , typename... ArgsT>
std::unique_ptr<T> cl::sycl::make_unique_ptr ( ArgsT &&...  Args)

Definition at line 51 of file stl.hpp.

◆ malloc() [1/4]

void * cl::sycl::malloc ( size_t  size,
const device dev,
const context ctxt,
usm::alloc  kind 
)

◆ malloc() [2/4]

void * cl::sycl::malloc ( size_t  size,
const device dev,
const context ctxt,
usm::alloc  kind,
const property_list propList = {} 
)

Definition at line 196 of file usm.hpp.

◆ malloc() [3/4]

void * cl::sycl::malloc ( size_t  size,
const queue q,
usm::alloc  kind 
)

◆ malloc() [4/4]

void * cl::sycl::malloc ( size_t  size,
const queue q,
usm::alloc  kind,
const property_list propList = {} 
)

Definition at line 202 of file usm.hpp.

◆ malloc_device() [1/4]

void * cl::sycl::malloc_device ( size_t  size,
const device dev,
const context ctxt 
)

Definition at line 149 of file usm_impl.cpp.

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

Referenced by malloc_device().

◆ malloc_device() [2/4]

void * cl::sycl::malloc_device ( size_t  size,
const device dev,
const context ctxt,
const property_list propList = {} 
)

Definition at line 115 of file usm.hpp.

◆ malloc_device() [3/4]

void * cl::sycl::malloc_device ( size_t  size,
const queue q 
)

◆ malloc_device() [4/4]

void * cl::sycl::malloc_device ( size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 122 of file usm.hpp.

◆ malloc_host() [1/4]

void * cl::sycl::malloc_host ( size_t  size,
const context ctxt 
)

Definition at line 196 of file usm_impl.cpp.

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

Referenced by malloc_host().

◆ malloc_host() [2/4]

void * cl::sycl::malloc_host ( size_t  size,
const context ctxt,
const property_list propList = {} 
)

Definition at line 143 of file usm.hpp.

◆ malloc_host() [3/4]

void * cl::sycl::malloc_host ( size_t  size,
const queue q 
)

Definition at line 204 of file usm_impl.cpp.

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

◆ malloc_host() [4/4]

void * cl::sycl::malloc_host ( size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 149 of file usm.hpp.

◆ malloc_shared() [1/4]

void * cl::sycl::malloc_shared ( size_t  size,
const device dev,
const context ctxt 
)

Definition at line 212 of file usm_impl.cpp.

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

Referenced by malloc_shared().

◆ malloc_shared() [2/4]

void * cl::sycl::malloc_shared ( size_t  size,
const device dev,
const context ctxt,
const property_list propList = {} 
)

Definition at line 155 of file usm.hpp.

◆ malloc_shared() [3/4]

void * cl::sycl::malloc_shared ( size_t  size,
const queue q 
)

◆ malloc_shared() [4/4]

void * cl::sycl::malloc_shared ( size_t  size,
const queue q,
const property_list propList = {} 
)

Definition at line 162 of file usm.hpp.

◆ maxmag()

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

Definition at line 336 of file builtins.hpp.

◆ minmag()

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

Definition at line 342 of file builtins.hpp.

◆ mix() [1/2]

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

Definition at line 559 of file builtins.hpp.

References a.

◆ mix() [2/2]

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

Definition at line 569 of file builtins.hpp.

References a.

◆ modf()

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

Definition at line 350 of file builtins.hpp.

◆ mul24() [1/2]

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

Definition at line 940 of file builtins.hpp.

◆ mul24() [2/2]

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

Definition at line 947 of file builtins.hpp.

◆ mul_hi() [1/2]

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

Definition at line 828 of file builtins.hpp.

◆ mul_hi() [2/2]

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

Definition at line 835 of file builtins.hpp.

◆ nan()

template<typename T , typename = detail::enable_if_t<detail::is_nan_type<T>::value, T>>
detail::nan_return_t<T> cl::sycl::nan ( T  nancode)

Definition at line 357 of file builtins.hpp.

◆ nextafter()

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

Definition at line 364 of file builtins.hpp.

◆ none_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::none_of_group ( Group  g,
T  x,
Predicate  pred 
)

Definition at line 367 of file group_algorithm.hpp.

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

◆ none_of_group() [2/2]

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

Definition at line 355 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

◆ normalize() [1/3]

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

Definition at line 1038 of file builtins.hpp.

◆ normalize() [2/3]

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

Definition at line 1045 of file builtins.hpp.

◆ normalize() [3/3]

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

Definition at line 1051 of file builtins.hpp.

◆ operator!=() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator!= ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 605 of file multi_ptr.hpp.

Referenced by __SYCL2020_DEPRECATED().

◆ operator!=() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator!= ( const multi_ptr< ElementType, Space > &  lhs,
std::nullptr_t   
)

Definition at line 635 of file multi_ptr.hpp.

◆ operator!=() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator!= ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 640 of file multi_ptr.hpp.

◆ operator<() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator< ( const multi_ptr< ElementType, Space > &  ,
std::nullptr_t   
)

Definition at line 665 of file multi_ptr.hpp.

◆ operator<() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator< ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 611 of file multi_ptr.hpp.

◆ operator<() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator< ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 670 of file multi_ptr.hpp.

◆ operator<<() [1/22]

const stream& cl::sycl::operator<< ( const stream Out,
const __precision_manipulator__ RHS 
)
inline

Definition at line 1048 of file stream.hpp.

References cl::sycl::__precision_manipulator__::precision().

◆ operator<<() [2/22]

const stream& cl::sycl::operator<< ( const stream Out,
const __width_manipulator__ RHS 
)
inline

Definition at line 1054 of file stream.hpp.

References cl::sycl::__width_manipulator__::width().

◆ operator<<() [3/22]

const stream& cl::sycl::operator<< ( const stream Out,
const bool &  RHS 
)
inline

Definition at line 989 of file stream.hpp.

◆ operator<<() [4/22]

const stream& cl::sycl::operator<< ( const stream Out,
const char Str 
)
inline

Definition at line 978 of file stream.hpp.

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

◆ operator<<() [5/22]

const stream& cl::sycl::operator<< ( const stream Out,
const char  C 
)
inline

Definition at line 972 of file stream.hpp.

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

◆ operator<<() [6/22]

const stream& cl::sycl::operator<< ( const stream Out,
const double &  RHS 
)
inline

◆ operator<<() [7/22]

const stream& cl::sycl::operator<< ( const stream Out,
const float &  RHS 
)
inline

◆ operator<<() [8/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const group< Dimensions > &  RHS 
)
inline

Definition at line 1131 of file stream.hpp.

◆ operator<<() [9/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const h_item< Dimensions > &  RHS 
)
inline

Definition at line 1139 of file stream.hpp.

◆ operator<<() [10/22]

const stream& cl::sycl::operator<< ( const stream Out,
const half RHS 
)
inline

◆ operator<<() [11/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const id< Dimensions > &  RHS 
)
inline

Definition at line 1092 of file stream.hpp.

◆ operator<<() [12/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const item< Dimensions > &  RHS 
)
inline

Definition at line 1107 of file stream.hpp.

◆ operator<<() [13/22]

template<typename ElementType , access::address_space Space>
const stream& cl::sycl::operator<< ( const stream Out,
const multi_ptr< ElementType, Space > &  RHS 
)
inline

Definition at line 1030 of file stream.hpp.

References cl::sycl::multi_ptr< ElementType, Space >::get().

◆ operator<<() [14/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const nd_item< Dimensions > &  RHS 
)
inline

Definition at line 1123 of file stream.hpp.

◆ operator<<() [15/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const nd_range< Dimensions > &  RHS 
)
inline

Definition at line 1115 of file stream.hpp.

◆ operator<<() [16/22]

template<int Dimensions>
const stream& cl::sycl::operator<< ( const stream Out,
const range< Dimensions > &  RHS 
)
inline

Definition at line 1099 of file stream.hpp.

◆ operator<<() [17/22]

const stream& cl::sycl::operator<< ( const stream Out,
const stream_manipulator  RHS 
)
inline

Definition at line 1060 of file stream.hpp.

References endl, flush, and cl::sycl::detail::flushBuffer().

◆ operator<<() [18/22]

template<typename T , typename RT = detail::EnableIfSwizzleVec<T>>
const stream& cl::sycl::operator<< ( const stream Out,
const T RHS 
)
inline

Definition at line 1147 of file stream.hpp.

◆ operator<<() [19/22]

template<typename T >
const stream& cl::sycl::operator<< ( const stream Out,
const T RHS 
)

◆ operator<<() [20/22]

template<typename ValueType >
detail::enable_if_t<std::is_integral<ValueType>::value, const stream &> cl::sycl::operator<< ( const stream Out,
const ValueType &  RHS 
)
inline

Definition at line 998 of file stream.hpp.

References cl::sycl::stream::get_width(), and cl::sycl::detail::writeIntegral().

◆ operator<<() [21/22]

template<typename T , int VectorLength>
const stream& cl::sycl::operator<< ( const stream Out,
const vec< T, VectorLength > &  RHS 
)

◆ operator<<() [22/22]

std::ostream& cl::sycl::operator<< ( std::ostream &  Out,
backend  be 
)
inline

Definition at line 44 of file backend_types.hpp.

References all().

◆ operator<=() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator<= ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 623 of file multi_ptr.hpp.

◆ operator<=() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator<= ( const multi_ptr< ElementType, Space > &  lhs,
std::nullptr_t   
)

Definition at line 685 of file multi_ptr.hpp.

◆ operator<=() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator<= ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 690 of file multi_ptr.hpp.

◆ operator==() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator== ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 599 of file multi_ptr.hpp.

◆ operator==() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator== ( const multi_ptr< ElementType, Space > &  lhs,
std::nullptr_t   
)

Definition at line 645 of file multi_ptr.hpp.

◆ operator==() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator== ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 650 of file multi_ptr.hpp.

◆ operator>() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator> ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 617 of file multi_ptr.hpp.

◆ operator>() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator> ( const multi_ptr< ElementType, Space > &  lhs,
std::nullptr_t   
)

Definition at line 655 of file multi_ptr.hpp.

◆ operator>() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator> ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &   
)

Definition at line 660 of file multi_ptr.hpp.

◆ operator>=() [1/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator>= ( const multi_ptr< ElementType, Space > &  ,
std::nullptr_t   
)

Definition at line 675 of file multi_ptr.hpp.

◆ operator>=() [2/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator>= ( const multi_ptr< ElementType, Space > &  lhs,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 629 of file multi_ptr.hpp.

◆ operator>=() [3/3]

template<typename ElementType , access::address_space Space>
bool cl::sycl::operator>= ( std::nullptr_t  ,
const multi_ptr< ElementType, Space > &  rhs 
)

Definition at line 680 of file multi_ptr.hpp.

◆ permute_group_by_xor()

template<typename Group , typename T >
detail::enable_if_t<(std::is_same<std::decay_t<Group>, sub_group>::value && detail::is_arithmetic<T>::value), T> cl::sycl::permute_group_by_xor ( Group  ,
T  x,
typename Group::linear_id_type  mask 
)

Definition at line 425 of file group_algorithm.hpp.

References PI_INVALID_DEVICE.

◆ popcount()

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

Definition at line 917 of file builtins.hpp.

◆ pow()

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

Definition at line 371 of file builtins.hpp.

◆ pown()

template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat<T>::value && detail::is_genint<T2>::value, T> cl::sycl::pown ( T  x,
T2  y 
)

Definition at line 379 of file builtins.hpp.

◆ powr()

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

Definition at line 386 of file builtins.hpp.

◆ queue::get_property< property::queue::enable_profiling >()

◆ queue::has_property< property::queue::enable_profiling >()

◆ radians()

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

Definition at line 576 of file builtins.hpp.

References degrees().

Referenced by degrees().

◆ reduce_over_group() [1/4]

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::reduce_over_group ( Group  g,
T  x,
BinaryOperation  binary_op 
)

Definition at line 149 of file group_algorithm.hpp.

References reduce_over_group().

◆ reduce_over_group() [2/4]

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_scalar_arithmetic<T>::value && detail::is_native_op<V, BinaryOperation>::value && detail::is_native_op<T, BinaryOperation>::value), T> cl::sycl::reduce_over_group ( Group  g,
x,
T  init,
BinaryOperation  binary_op 
)

Definition at line 171 of file group_algorithm.hpp.

References PI_INVALID_DEVICE, and reduce_over_group().

◆ reduce_over_group() [3/4]

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::reduce_over_group ( Group  g,
x,
T  init,
BinaryOperation  binary_op 
)

◆ reduce_over_group() [4/4]

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::reduce_over_group ( Group  ,
T  x,
BinaryOperation  binary_op 
)

◆ reduction() [1/6]

template<typename T , typename AllocatorT , typename BinaryOperation >
std::enable_if_t<has_known_identity<BinaryOperation, T>::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 1, false, access::placeholder::true_t> > cl::sycl::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.

Definition at line 24 of file reduction.hpp.

◆ reduction() [2/6]

template<typename T , typename AllocatorT , typename BinaryOperation >
ext::oneapi::detail::reduction_impl<T, BinaryOperation, 1, false, access::placeholder::true_t> cl::sycl::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.

Definition at line 84 of file reduction.hpp.

◆ reduction() [3/6]

template<typename T , typename AllocatorT , typename BinaryOperation >
std::enable_if_t<!has_known_identity<BinaryOperation, T>::value, ext::oneapi::detail::reduction_impl< T, BinaryOperation, 1, false, access::placeholder::true_t> > cl::sycl::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.

The reduction algorithm may be less efficient for this variant as the reduction identity is not known statically and it is not provided by user.

Definition at line 39 of file reduction.hpp.

◆ reduction() [4/6]

template<typename T , typename BinaryOperation >
std::enable_if_t< !has_known_identity<BinaryOperation, T>::value, ext::oneapi::detail::reduction_impl<T, BinaryOperation, 1, true> > cl::sycl::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.

The reduction algorithm may be less efficient for this variant as the reduction identity is not known statically and it is not provided by user.

Definition at line 70 of file reduction.hpp.

◆ reduction() [5/6]

template<typename T , typename BinaryOperation >
std::enable_if_t< has_known_identity<BinaryOperation, T>::value, ext::oneapi::detail::reduction_impl<T, BinaryOperation, 1, true> > cl::sycl::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.

Definition at line 55 of file reduction.hpp.

◆ reduction() [6/6]

template<typename T , typename BinaryOperation >
ext::oneapi::detail::reduction_impl<T, BinaryOperation, 1, true> cl::sycl::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.

Definition at line 96 of file reduction.hpp.

◆ remainder()

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

Definition at line 392 of file builtins.hpp.

Referenced by cl::sycl::ext::intel::experimental::esimd::esimd_div().

◆ remquo()

template<typename T , typename T2 >
detail::enable_if_t< detail::is_genfloat<T>::value && detail::is_genintptr<T2>::value, T> cl::sycl::remquo ( T  x,
T  y,
T2  quo 
)

Definition at line 401 of file builtins.hpp.

◆ rhadd() [1/2]

template<typename T >