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

Go to the source code of this file.

Classes

struct  sycl::_V1::detail::sycl_to_pi< T >
 
struct  sycl::_V1::detail::sycl_to_pi< bool >
 
struct  sycl::_V1::detail::sycl_to_pi< device >
 
struct  sycl::_V1::detail::sycl_to_pi< platform >
 
struct  sycl::_V1::detail::check_fp_support< Param >
 
struct  sycl::_V1::detail::check_fp_support< info::device::half_fp_config >
 
struct  sycl::_V1::detail::check_fp_support< info::device::double_fp_config >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, Param >
 
struct  sycl::_V1::detail::get_device_info_impl< platform, Param >
 
struct  sycl::_V1::detail::get_device_info_impl< std::string, Param >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, info::device::parent_device >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, Param >
 
struct  sycl::_V1::detail::get_device_info_impl< std::string, info::device::version >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, info::device::single_fp_config >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::queue_profiling >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_memory_order_capabilities >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_fence_order_capabilities >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_memory_scope_capabilities >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_fence_scope_capabilities >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::ext_oneapi_bfloat16_math_functions >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< info::execution_capability >, info::device::execution_capabilities >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< kernel_id >, info::device::built_in_kernel_ids >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< std::string >, info::device::built_in_kernels >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< std::string >, info::device::extensions >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_property >, info::device::partition_properties >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_affinity_domain >, info::device::partition_affinity_domains >
 
struct  sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >
 
struct  sycl::_V1::detail::get_device_info_impl< info::partition_property, info::device::partition_type_property >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< size_t >, info::device::sub_group_sizes >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::kernel_kernel_pipe_support >
 
struct  sycl::_V1::detail::get_device_info_impl< range< Dimensions >, info::device::max_work_item_sizes< Dimensions > >
 
struct  sycl::_V1::detail::get_device_info_impl< ext::oneapi::experimental::architecture, ext::oneapi::experimental::info::device::architecture >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< ext::oneapi::experimental::matrix::combination >, ext::oneapi::experimental::info::device::matrix_combinations >
 
struct  sycl::_V1::detail::get_device_info_impl< size_t, ext::oneapi::experimental::info::device::max_global_work_groups >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 1 >, ext::oneapi::experimental::info::device::max_work_groups< 1 > >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 2 >, ext::oneapi::experimental::info::device::max_work_groups< 2 > >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 3 >, ext::oneapi::experimental::info::device::max_work_groups< 3 > >
 
struct  sycl::_V1::detail::get_device_info_impl< size_t, info::device::ext_oneapi_max_global_work_groups >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 1 >, info::device::ext_oneapi_max_work_groups_1d >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 2 >, info::device::ext_oneapi_max_work_groups_2d >
 
struct  sycl::_V1::detail::get_device_info_impl< id< 3 >, info::device::ext_oneapi_max_work_groups_3d >
 
struct  sycl::_V1::detail::get_device_info_impl< device, info::device::parent_device >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::image_support >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_device_allocations >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_host_allocations >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_shared_allocations >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_restricted_shared_allocations >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_system_allocations >
 
struct  sycl::_V1::detail::get_device_info_impl< bool, ext::codeplay::experimental::info::device::supports_fusion >
 
struct  sycl::_V1::detail::get_device_info_impl< uint32_t, ext::codeplay::experimental::info::device::max_registers_per_work_group >
 
struct  sycl::_V1::detail::get_device_info_impl< std::vector< sycl::device >, ext::oneapi::experimental::info::device::component_devices >
 
struct  sycl::_V1::detail::get_device_info_impl< sycl::device, ext::oneapi::experimental::info::device::composite_device >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 

Macros

#define __SYCL_AFFINITY_DOMAIN_STRING_CASE(DOMAIN)
 

Typedefs

using sycl::_V1::detail::oneapi_exp_arch = sycl::ext::oneapi::experimental::architecture
 

Functions

std::vector< info::fp_config > sycl::_V1::detail::read_fp_bitfield (pi_device_fp_config bits)
 
std::vector< info::partition_affinity_domain > sycl::_V1::detail::read_domain_bitfield (pi_device_affinity_domain bits)
 
std::vector< info::execution_capability > sycl::_V1::detail::read_execution_bitfield (pi_device_exec_capabilities bits)
 
std::string sycl::_V1::detail::affinityDomainToString (info::partition_affinity_domain AffinityDomain)
 
static bool sycl::_V1::detail::is_sycl_partition_property (info::partition_property PP)
 
template<int Dimensions>
range< Dimensions > sycl::_V1::detail::construct_range (size_t *values)=delete
 
template<>
range< 1 > sycl::_V1::detail::construct_range< 1 > (size_t *values)
 
template<>
range< 2 > sycl::_V1::detail::construct_range< 2 > (size_t *values)
 
template<>
range< 3 > sycl::_V1::detail::construct_range< 3 > (size_t *values)
 
template<typename Param >
Param::return_type sycl::_V1::detail::get_device_info (const DeviceImplPtr &Dev)
 
template<typename Param >
Param::return_type sycl::_V1::detail::get_device_info_host ()=delete
 
template<>
std::vector< sycl::aspect > sycl::_V1::detail::get_device_info_host< info::device::aspects > ()
 
template<>
ext::oneapi::experimental::architecture sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::architecture > ()
 
template<>
info::device_type sycl::_V1::detail::get_device_info_host< info::device::device_type > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::vendor_id > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_compute_units > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_work_item_dimensions > ()
 
template<>
range< 1 > sycl::_V1::detail::get_device_info_host< info::device::max_work_item_sizes< 1 > > ()
 
template<>
range< 2 > sycl::_V1::detail::get_device_info_host< info::device::max_work_item_sizes< 2 > > ()
 
template<>
range< 3 > sycl::_V1::detail::get_device_info_host< info::device::max_work_item_sizes< 3 > > ()
 
template<>
constexpr size_t sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_global_work_groups > ()
 
template<>
id< 1 > sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_work_groups< 1 > > ()
 
template<>
id< 2 > sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_work_groups< 2 > > ()
 
template<>
id< 3 > sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_work_groups< 3 > > ()
 
template<>
constexpr size_t sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_max_global_work_groups > ()
 
template<>
id< 1 > sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_max_work_groups_1d > ()
 
template<>
id< 2 > sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_max_work_groups_2d > ()
 
template<>
id< 3 > sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_max_work_groups_3d > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::max_work_group_size > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_char > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_short > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_int > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_long > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_float > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_double > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::preferred_vector_width_half > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_char > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_short > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_int > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_long > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_float > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_double > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::native_vector_width_half > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_clock_frequency > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::address_bits > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::global_mem_size > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::max_mem_alloc_size > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::image_support > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::atomic64 > ()
 
template<>
std::vector< memory_order > sycl::_V1::detail::get_device_info_host< info::device::atomic_memory_order_capabilities > ()
 
template<>
std::vector< memory_order > sycl::_V1::detail::get_device_info_host< info::device::atomic_fence_order_capabilities > ()
 
template<>
std::vector< memory_scope > sycl::_V1::detail::get_device_info_host< info::device::atomic_memory_scope_capabilities > ()
 
template<>
std::vector< memory_scope > sycl::_V1::detail::get_device_info_host< info::device::atomic_fence_scope_capabilities > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_bfloat16_math_functions > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_read_image_args > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_write_image_args > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image2d_max_width > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image2d_max_height > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image3d_max_width > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image3d_max_height > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image3d_max_depth > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image_max_buffer_size > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::image_max_array_size > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_samplers > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::max_parameter_size > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::mem_base_addr_align > ()
 
template<>
std::vector< info::fp_config > sycl::_V1::detail::get_device_info_host< info::device::half_fp_config > ()
 
template<>
std::vector< info::fp_config > sycl::_V1::detail::get_device_info_host< info::device::single_fp_config > ()
 
template<>
std::vector< info::fp_config > sycl::_V1::detail::get_device_info_host< info::device::double_fp_config > ()
 
template<>
info::global_mem_cache_type sycl::_V1::detail::get_device_info_host< info::device::global_mem_cache_type > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::global_mem_cache_line_size > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::global_mem_cache_size > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::max_constant_buffer_size > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_constant_args > ()
 
template<>
info::local_mem_type sycl::_V1::detail::get_device_info_host< info::device::local_mem_type > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::local_mem_size > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::error_correction_support > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::host_unified_memory > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::profiling_timer_resolution > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::is_endian_little > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::is_available > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::is_compiler_available > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::is_linker_available > ()
 
template<>
std::vector< info::execution_capability > sycl::_V1::detail::get_device_info_host< info::device::execution_capabilities > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::queue_profiling > ()
 
template<>
std::vector< kernel_id > sycl::_V1::detail::get_device_info_host< info::device::built_in_kernel_ids > ()
 
template<>
std::vector< std::string > sycl::_V1::detail::get_device_info_host< info::device::built_in_kernels > ()
 
template<>
platform sycl::_V1::detail::get_device_info_host< info::device::platform > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::name > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::vendor > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::driver_version > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::profile > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::version > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::opencl_c_version > ()
 
template<>
std::vector< std::string > sycl::_V1::detail::get_device_info_host< info::device::extensions > ()
 
template<>
size_t sycl::_V1::detail::get_device_info_host< info::device::printf_buffer_size > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::preferred_interop_user_sync > ()
 
template<>
device sycl::_V1::detail::get_device_info_host< info::device::parent_device > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::partition_max_sub_devices > ()
 
template<>
std::vector< info::partition_property > sycl::_V1::detail::get_device_info_host< info::device::partition_properties > ()
 
template<>
std::vector< info::partition_affinity_domain > sycl::_V1::detail::get_device_info_host< info::device::partition_affinity_domains > ()
 
template<>
info::partition_property sycl::_V1::detail::get_device_info_host< info::device::partition_type_property > ()
 
template<>
info::partition_affinity_domain sycl::_V1::detail::get_device_info_host< info::device::partition_type_affinity_domain > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::reference_count > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::max_num_sub_groups > ()
 
template<>
std::vector< size_t > sycl::_V1::detail::get_device_info_host< info::device::sub_group_sizes > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::sub_group_independent_forward_progress > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::kernel_kernel_pipe_support > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::backend_version > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::usm_device_allocations > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::usm_host_allocations > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::usm_shared_allocations > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::usm_restricted_shared_allocations > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::usm_system_allocations > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::ext_intel_mem_channel > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::device_id > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< ext::intel::info::device::pci_address > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_eu_count > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_eu_simd_width > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_slices > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_subslices_per_slice > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_eu_count_per_subslice > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::gpu_hw_threads_per_eu > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::max_mem_bandwidth > ()
 
template<>
detail::uuid_type sycl::_V1::detail::get_device_info_host< ext::intel::info::device::uuid > ()
 
template<>
std::string sycl::_V1::detail::get_device_info_host< info::device::ext_intel_pci_address > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_eu_count > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_eu_simd_width > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_slices > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_subslices_per_slice > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_eu_count_per_subslice > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_gpu_hw_threads_per_eu > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< info::device::ext_intel_max_mem_bandwidth > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< info::device::ext_oneapi_srgb > ()
 
template<>
detail::uuid_type sycl::_V1::detail::get_device_info_host< info::device::ext_intel_device_info_uuid > ()
 
template<>
uint64_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::free_memory > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::memory_clock_rate > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::memory_bus_width > ()
 
template<>
int32_t sycl::_V1::detail::get_device_info_host< ext::intel::info::device::max_compute_queue_indices > ()
 
template<>
bool sycl::_V1::detail::get_device_info_host< ext::codeplay::experimental::info::device::supports_fusion > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::codeplay::experimental::info::device::max_registers_per_work_group > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::image_row_pitch_align > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_image_linear_row_pitch > ()
 
template<>
std::vector< ext::oneapi::experimental::matrix::combination > sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::matrix_combinations > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_image_linear_width > ()
 
template<>
uint32_t sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::max_image_linear_height > ()
 
template<>
float sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::mipmap_max_anisotropy > ()
 
template<>
std::vector< sycl::devicesycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::component_devices > ()
 
template<>
sycl::device sycl::_V1::detail::get_device_info_host< ext::oneapi::experimental::info::device::composite_device > ()
 

Variables

constexpr std::pair< const char *, oneapi_exp_arch > sycl::_V1::detail::NvidiaAmdGPUArchitectures []
 
constexpr std::pair< const int, oneapi_exp_arch > sycl::_V1::detail::IntelGPUArchitectures []
 
constexpr std::pair< const int, oneapi_exp_arch > sycl::_V1::detail::IntelCPUArchitectures []
 

Macro Definition Documentation

◆ __SYCL_AFFINITY_DOMAIN_STRING_CASE

#define __SYCL_AFFINITY_DOMAIN_STRING_CASE (   DOMAIN)
Value:
case DOMAIN: \
return #DOMAIN;