DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
info_desc.hpp File Reference
#include <CL/sycl/detail/common.hpp>
#include <CL/sycl/detail/pi.hpp>
#include <CL/sycl/id.hpp>
#include <CL/sycl/info/device_traits.def>
#include <CL/sycl/info/context_traits.def>
#include <CL/sycl/info/event_traits.def>
#include <CL/sycl/info/event_profiling_traits.def>
#include <CL/sycl/info/kernel_device_specific_traits.def>
#include <CL/sycl/info/kernel_sub_group_traits.def>
#include <CL/sycl/info/kernel_traits.def>
#include <CL/sycl/info/kernel_work_group_traits.def>
#include <CL/sycl/info/platform_traits.def>
#include <CL/sycl/info/queue_traits.def>
Include dependency graph for info_desc.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cl::sycl::info::param_traits< T, param >
 
struct  cl::sycl::info::compatibility_param_traits< T, param >
 

Namespaces

 cl
 We provide new interfaces for matrix muliply in this patch:
 
 cl::sycl
 
 cl::sycl::info
 

Macros

#define __SYCL_PARAM_TRAITS_SPEC(param_type, param, ret_type)
 
#define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT(param_type, param, ret_type, in_type)
 
#define __SYCL_PARAM_TRAITS_SPEC(param_type, param, ret_type)
 
#define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT(param_type, param, ret_type, in_type)
 

Enumerations

enum  cl::sycl::info::platform {
  cl::sycl::info::platform::profile = PI_PLATFORM_INFO_PROFILE, cl::sycl::info::platform::version = PI_PLATFORM_INFO_VERSION, cl::sycl::info::platform::name = PI_PLATFORM_INFO_NAME, cl::sycl::info::platform::vendor = PI_PLATFORM_INFO_VENDOR,
  cl::sycl::info::platform::__SYCL2020_DEPRECATED
}
 
enum  cl::sycl::info::context : cl_context_info { cl::sycl::info::context::reference_count = CL_CONTEXT_REFERENCE_COUNT, cl::sycl::info::context::platform = CL_CONTEXT_PLATFORM, cl::sycl::info::context::devices = CL_CONTEXT_DEVICES, cl::sycl::info::context::atomic_memory_order_capabilities }
 
enum  cl::sycl::info::device : cl_device_info {
  cl::sycl::info::device::device_type = CL_DEVICE_TYPE, cl::sycl::info::device::vendor_id = CL_DEVICE_VENDOR_ID, cl::sycl::info::device::max_compute_units = CL_DEVICE_MAX_COMPUTE_UNITS, cl::sycl::info::device::max_work_item_dimensions = CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS,
  cl::sycl::info::device::max_work_item_sizes = CL_DEVICE_MAX_WORK_ITEM_SIZES, cl::sycl::info::device::max_work_group_size = CL_DEVICE_MAX_WORK_GROUP_SIZE, cl::sycl::info::device::preferred_vector_width_char = CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR, cl::sycl::info::device::preferred_vector_width_short = CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT,
  cl::sycl::info::device::preferred_vector_width_int = CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT, cl::sycl::info::device::preferred_vector_width_long = CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG, cl::sycl::info::device::preferred_vector_width_float = CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, cl::sycl::info::device::preferred_vector_width_double = CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE,
  cl::sycl::info::device::preferred_vector_width_half = CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF, cl::sycl::info::device::native_vector_width_char = CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, cl::sycl::info::device::native_vector_width_short = CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT, cl::sycl::info::device::native_vector_width_int = CL_DEVICE_NATIVE_VECTOR_WIDTH_INT,
  cl::sycl::info::device::native_vector_width_long = CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, cl::sycl::info::device::native_vector_width_float = CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, cl::sycl::info::device::native_vector_width_double = CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE, cl::sycl::info::device::native_vector_width_half = CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF,
  cl::sycl::info::device::max_clock_frequency = CL_DEVICE_MAX_CLOCK_FREQUENCY, cl::sycl::info::device::address_bits = CL_DEVICE_ADDRESS_BITS, cl::sycl::info::device::max_mem_alloc_size = CL_DEVICE_MAX_MEM_ALLOC_SIZE, cl::sycl::info::device::image_support = CL_DEVICE_IMAGE_SUPPORT,
  cl::sycl::info::device::max_read_image_args = CL_DEVICE_MAX_READ_IMAGE_ARGS, cl::sycl::info::device::max_write_image_args = CL_DEVICE_MAX_WRITE_IMAGE_ARGS, cl::sycl::info::device::image2d_max_width = CL_DEVICE_IMAGE2D_MAX_WIDTH, cl::sycl::info::device::image2d_max_height = CL_DEVICE_IMAGE2D_MAX_HEIGHT,
  cl::sycl::info::device::image3d_max_width = CL_DEVICE_IMAGE3D_MAX_WIDTH, cl::sycl::info::device::image3d_max_height = CL_DEVICE_IMAGE3D_MAX_HEIGHT, cl::sycl::info::device::image3d_max_depth = CL_DEVICE_IMAGE3D_MAX_DEPTH, cl::sycl::info::device::image_max_buffer_size = CL_DEVICE_IMAGE_MAX_BUFFER_SIZE,
  cl::sycl::info::device::image_max_array_size = CL_DEVICE_IMAGE_MAX_ARRAY_SIZE, cl::sycl::info::device::max_samplers = CL_DEVICE_MAX_SAMPLERS, cl::sycl::info::device::max_parameter_size = CL_DEVICE_MAX_PARAMETER_SIZE, cl::sycl::info::device::mem_base_addr_align = CL_DEVICE_MEM_BASE_ADDR_ALIGN,
  cl::sycl::info::device::half_fp_config = CL_DEVICE_HALF_FP_CONFIG, cl::sycl::info::device::single_fp_config = CL_DEVICE_SINGLE_FP_CONFIG, cl::sycl::info::device::double_fp_config = CL_DEVICE_DOUBLE_FP_CONFIG, cl::sycl::info::device::global_mem_cache_type = CL_DEVICE_GLOBAL_MEM_CACHE_TYPE,
  cl::sycl::info::device::global_mem_cache_line_size = CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE, cl::sycl::info::device::global_mem_cache_size = CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, cl::sycl::info::device::global_mem_size = CL_DEVICE_GLOBAL_MEM_SIZE, cl::sycl::info::device::__SYCL2020_DEPRECATED,
  cl::sycl::info::device::__SYCL2020_DEPRECATED, cl::sycl::info::device::local_mem_type = CL_DEVICE_LOCAL_MEM_TYPE, cl::sycl::info::device::local_mem_size = CL_DEVICE_LOCAL_MEM_SIZE, cl::sycl::info::device::error_correction_support = CL_DEVICE_ERROR_CORRECTION_SUPPORT,
  cl::sycl::info::device::host_unified_memory = CL_DEVICE_HOST_UNIFIED_MEMORY, cl::sycl::info::device::profiling_timer_resolution = CL_DEVICE_PROFILING_TIMER_RESOLUTION, cl::sycl::info::device::is_endian_little = CL_DEVICE_ENDIAN_LITTLE, cl::sycl::info::device::is_available = CL_DEVICE_AVAILABLE,
  cl::sycl::info::device::is_compiler_available = CL_DEVICE_COMPILER_AVAILABLE, cl::sycl::info::device::is_linker_available = CL_DEVICE_LINKER_AVAILABLE, cl::sycl::info::device::execution_capabilities = CL_DEVICE_EXECUTION_CAPABILITIES, cl::sycl::info::device::queue_profiling = CL_DEVICE_QUEUE_PROPERTIES,
  cl::sycl::info::device::__SYCL2020_DEPRECATED, cl::sycl::info::device::platform = CL_DEVICE_PLATFORM, cl::sycl::info::device::name = CL_DEVICE_NAME, cl::sycl::info::device::vendor = CL_DEVICE_VENDOR,
  cl::sycl::info::device::driver_version = CL_DRIVER_VERSION, cl::sycl::info::device::profile = CL_DEVICE_PROFILE, cl::sycl::info::device::version = CL_DEVICE_VERSION, cl::sycl::info::device::opencl_c_version = CL_DEVICE_OPENCL_C_VERSION,
  cl::sycl::info::device::__SYCL2020_DEPRECATED, cl::sycl::info::device::printf_buffer_size = CL_DEVICE_PRINTF_BUFFER_SIZE, cl::sycl::info::device::preferred_interop_user_sync = CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, cl::sycl::info::device::parent_device = CL_DEVICE_PARENT_DEVICE,
  cl::sycl::info::device::partition_max_sub_devices = CL_DEVICE_PARTITION_MAX_SUB_DEVICES, cl::sycl::info::device::partition_properties = CL_DEVICE_PARTITION_PROPERTIES, cl::sycl::info::device::partition_affinity_domains = CL_DEVICE_PARTITION_AFFINITY_DOMAIN, cl::sycl::info::device::partition_type_affinity_domain = CL_DEVICE_PARTITION_TYPE,
  cl::sycl::info::device::reference_count = CL_DEVICE_REFERENCE_COUNT, cl::sycl::info::device::il_version, cl::sycl::info::device::max_num_sub_groups = CL_DEVICE_MAX_NUM_SUB_GROUPS, cl::sycl::info::device::sub_group_independent_forward_progress,
  cl::sycl::info::device::sub_group_sizes = CL_DEVICE_SUB_GROUP_SIZES_INTEL, cl::sycl::info::device::partition_type_property, cl::sycl::info::device::kernel_kernel_pipe_support, cl::sycl::info::device::built_in_kernel_ids,
  cl::sycl::info::device::usm_device_allocations = PI_USM_DEVICE_SUPPORT, cl::sycl::info::device::usm_host_allocations = PI_USM_HOST_SUPPORT, cl::sycl::info::device::usm_shared_allocations = PI_USM_SINGLE_SHARED_SUPPORT, cl::sycl::info::device::usm_restricted_shared_allocations = PI_USM_CROSS_SHARED_SUPPORT,
  cl::sycl::info::device::usm_system_allocations = PI_USM_SYSTEM_SHARED_SUPPORT, cl::sycl::info::device::__SYCL2020_DEPRECATED, cl::sycl::info::device::ext_intel_pci_address = PI_DEVICE_INFO_PCI_ADDRESS, cl::sycl::info::device::ext_intel_gpu_eu_count = PI_DEVICE_INFO_GPU_EU_COUNT,
  cl::sycl::info::device::ext_intel_gpu_eu_simd_width = PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH, cl::sycl::info::device::ext_intel_gpu_slices = PI_DEVICE_INFO_GPU_SLICES, cl::sycl::info::device::ext_intel_gpu_subslices_per_slice = PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE, cl::sycl::info::device::ext_intel_gpu_eu_count_per_subslice,
  cl::sycl::info::device::ext_intel_gpu_hw_threads_per_eu = PI_DEVICE_INFO_GPU_HW_THREADS_PER_EU, cl::sycl::info::device::ext_intel_max_mem_bandwidth = PI_DEVICE_INFO_MAX_MEM_BANDWIDTH, cl::sycl::info::device::ext_intel_mem_channel = PI_MEM_PROPERTIES_CHANNEL, cl::sycl::info::device::ext_oneapi_srgb = PI_DEVICE_INFO_IMAGE_SRGB,
  cl::sycl::info::device::ext_intel_device_info_uuid = PI_DEVICE_INFO_UUID, cl::sycl::info::device::atomic64 = PI_DEVICE_INFO_ATOMIC_64, cl::sycl::info::device::atomic_memory_order_capabilities, cl::sycl::info::device::ext_oneapi_max_global_work_groups,
  cl::sycl::info::device::ext_oneapi_max_work_groups_1d = PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_1D, cl::sycl::info::device::ext_oneapi_max_work_groups_2d = PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_2D, cl::sycl::info::device::ext_oneapi_max_work_groups_3d = PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D
}
 
enum  cl::sycl::info::device_type : pi_uint64 {
  cl::sycl::info::device_type::cpu = PI_DEVICE_TYPE_CPU, cl::sycl::info::device_type::gpu = PI_DEVICE_TYPE_GPU, cl::sycl::info::device_type::accelerator = PI_DEVICE_TYPE_ACC, cl::sycl::info::device_type::custom = CL_DEVICE_TYPE_CUSTOM,
  cl::sycl::info::device_type::automatic, cl::sycl::info::device_type::host, cl::sycl::info::device_type::all = CL_DEVICE_TYPE_ALL
}
 
enum  cl::sycl::info::partition_property : cl_device_partition_property { cl::sycl::info::partition_property::no_partition = 0, cl::sycl::info::partition_property::partition_equally = CL_DEVICE_PARTITION_EQUALLY, cl::sycl::info::partition_property::partition_by_counts = CL_DEVICE_PARTITION_BY_COUNTS, cl::sycl::info::partition_property::partition_by_affinity_domain = CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN }
 
enum  cl::sycl::info::partition_affinity_domain : cl_device_affinity_domain {
  cl::sycl::info::partition_affinity_domain::not_applicable = 0, cl::sycl::info::partition_affinity_domain::numa = CL_DEVICE_AFFINITY_DOMAIN_NUMA, cl::sycl::info::partition_affinity_domain::L4_cache = CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE, cl::sycl::info::partition_affinity_domain::L3_cache = CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE,
  cl::sycl::info::partition_affinity_domain::L2_cache = CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE, cl::sycl::info::partition_affinity_domain::L1_cache = CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE, cl::sycl::info::partition_affinity_domain::next_partitionable = CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
}
 
enum  cl::sycl::info::local_mem_type : int { cl::sycl::info::local_mem_type::none, cl::sycl::info::local_mem_type::local, cl::sycl::info::local_mem_type::global }
 
enum  cl::sycl::info::fp_config : cl_device_fp_config {
  cl::sycl::info::fp_config::denorm = CL_FP_DENORM, cl::sycl::info::fp_config::inf_nan = CL_FP_INF_NAN, cl::sycl::info::fp_config::round_to_nearest = CL_FP_ROUND_TO_NEAREST, cl::sycl::info::fp_config::round_to_zero = CL_FP_ROUND_TO_ZERO,
  cl::sycl::info::fp_config::round_to_inf = CL_FP_ROUND_TO_INF, cl::sycl::info::fp_config::fma = CL_FP_FMA, cl::sycl::info::fp_config::correctly_rounded_divide_sqrt, cl::sycl::info::fp_config::soft_float
}
 
enum  cl::sycl::info::global_mem_cache_type : int { cl::sycl::info::global_mem_cache_type::none, cl::sycl::info::global_mem_cache_type::read_only, cl::sycl::info::global_mem_cache_type::read_write }
 
enum  cl::sycl::info::execution_capability : unsigned int { cl::sycl::info::execution_capability::exec_kernel, cl::sycl::info::execution_capability::exec_native_kernel }
 
enum  cl::sycl::info::queue : cl_command_queue_info { cl::sycl::info::queue::context = CL_QUEUE_CONTEXT, cl::sycl::info::queue::device = CL_QUEUE_DEVICE, cl::sycl::info::queue::reference_count = CL_QUEUE_REFERENCE_COUNT }
 
enum  cl::sycl::info::kernel : cl_kernel_info {
  cl::sycl::info::kernel::function_name = CL_KERNEL_FUNCTION_NAME, cl::sycl::info::kernel::num_args = CL_KERNEL_NUM_ARGS, cl::sycl::info::kernel::context = CL_KERNEL_CONTEXT, cl::sycl::info::kernel::reference_count = CL_KERNEL_REFERENCE_COUNT,
  cl::sycl::info::kernel::attributes = CL_KERNEL_ATTRIBUTES
}
 
enum  cl::sycl::info::kernel_sub_group : cl_kernel_sub_group_info { cl::sycl::info::kernel_sub_group::max_sub_group_size = CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE, cl::sycl::info::kernel_sub_group::max_num_sub_groups = CL_KERNEL_MAX_NUM_SUB_GROUPS, cl::sycl::info::kernel_sub_group::compile_num_sub_groups = CL_KERNEL_COMPILE_NUM_SUB_GROUPS, cl::sycl::info::kernel_sub_group::compile_sub_group_size = CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL }
 
enum  cl::sycl::info::kernel_device_specific : cl_kernel_work_group_info {
  cl::sycl::info::kernel_device_specific::global_work_size = CL_KERNEL_GLOBAL_WORK_SIZE, cl::sycl::info::kernel_device_specific::work_group_size = CL_KERNEL_WORK_GROUP_SIZE, cl::sycl::info::kernel_device_specific::compile_work_group_size = CL_KERNEL_COMPILE_WORK_GROUP_SIZE, cl::sycl::info::kernel_device_specific::preferred_work_group_size_multiple,
  cl::sycl::info::kernel_device_specific::private_mem_size = CL_KERNEL_PRIVATE_MEM_SIZE, cl::sycl::info::kernel_device_specific::ext_codeplay_num_regs = PI_KERNEL_GROUP_INFO_NUM_REGS, cl::sycl::info::kernel_device_specific::max_sub_group_size = CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE, cl::sycl::info::kernel_device_specific::max_num_sub_groups = CL_KERNEL_MAX_NUM_SUB_GROUPS,
  cl::sycl::info::kernel_device_specific::compile_num_sub_groups = CL_KERNEL_COMPILE_NUM_SUB_GROUPS, cl::sycl::info::kernel_device_specific::compile_sub_group_size = CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL
}
 
enum  cl::sycl::info::event : cl_event_info { cl::sycl::info::event::reference_count = CL_EVENT_REFERENCE_COUNT, cl::sycl::info::event::command_execution_status = CL_EVENT_COMMAND_EXECUTION_STATUS }
 
enum  cl::sycl::info::event_command_status : cl_int { cl::sycl::info::event_command_status::submitted = CL_SUBMITTED, cl::sycl::info::event_command_status::running = CL_RUNNING, cl::sycl::info::event_command_status::complete = CL_COMPLETE, cl::sycl::info::event_command_status::ext_oneapi_unknown = -1 }
 
enum  cl::sycl::info::event_profiling : cl_profiling_info { cl::sycl::info::event_profiling::command_submit = CL_PROFILING_COMMAND_SUBMIT, cl::sycl::info::event_profiling::command_start = CL_PROFILING_COMMAND_START, cl::sycl::info::event_profiling::command_end = CL_PROFILING_COMMAND_END }
 

Macro Definition Documentation

◆ __SYCL_PARAM_TRAITS_SPEC [1/2]

#define __SYCL_PARAM_TRAITS_SPEC (   param_type,
  param,
  ret_type 
)
Value:
template <> class param_traits<param_type, param_type::param> { \
public: \
using return_type = ret_type; \
};

Definition at line 346 of file info_desc.hpp.

◆ __SYCL_PARAM_TRAITS_SPEC [2/2]

#define __SYCL_PARAM_TRAITS_SPEC (   param_type,
  param,
  ret_type 
)
Value:
template <> \
struct compatibility_param_traits<param_type, param_type::param> { \
static constexpr auto value = kernel_device_specific::param; \
};

Definition at line 346 of file info_desc.hpp.

◆ __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT [1/2]

#define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT (   param_type,
  param,
  ret_type,
  in_type 
)
Value:
template <> class param_traits<param_type, param_type::param> { \
public: \
using return_type = ret_type; \
using input_type = in_type; \
};

Definition at line 352 of file info_desc.hpp.

◆ __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT [2/2]

#define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT (   param_type,
  param,
  ret_type,
  in_type 
)
Value:
template <> \
struct compatibility_param_traits<param_type, param_type::param> { \
static constexpr auto value = kernel_device_specific::param; \
};

Definition at line 352 of file info_desc.hpp.