DPC++ Runtime
Runtime libraries for oneAPI DPC++
device_info.hpp File Reference
#include <detail/device_impl.hpp>
#include <detail/jit_compiler.hpp>
#include <detail/platform_impl.hpp>
#include <detail/platform_util.hpp>
#include <detail/plugin.hpp>
#include <detail/program_manager/program_manager.hpp>
#include <sycl/detail/defines.hpp>
#include <sycl/detail/os_util.hpp>
#include <sycl/detail/ur.hpp>
#include <sycl/device.hpp>
#include <sycl/ext/oneapi/experimental/device_architecture.hpp>
#include <sycl/ext/oneapi/matrix/query-types.hpp>
#include <sycl/feature_test.hpp>
#include <sycl/info/info_desc.hpp>
#include <sycl/memory_enums.hpp>
#include <sycl/platform.hpp>
#include <chrono>
#include <sstream>
#include <thread>
#include "split_string.hpp"
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_ur< T >
 
struct  sycl::_V1::detail::sycl_to_ur< bool >
 
struct  sycl::_V1::detail::sycl_to_ur< device >
 
struct  sycl::_V1::detail::sycl_to_ur< 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_cuda_cluster_group >
 
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 >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::work_group_progress_capabilities< ext::oneapi::experimental::execution_scope::root_group > >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::sub_group_progress_capabilities< ext::oneapi::experimental::execution_scope::root_group > >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::sub_group_progress_capabilities< ext::oneapi::experimental::execution_scope::work_group > >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::work_item_progress_capabilities< ext::oneapi::experimental::execution_scope::root_group > >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::work_item_progress_capabilities< ext::oneapi::experimental::execution_scope::work_group > >
 
struct  sycl::_V1::detail::get_device_info_impl< ReturnT, ext::oneapi::experimental::info::device::work_item_progress_capabilities< ext::oneapi::experimental::execution_scope::sub_group > >
 

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 (ur_device_fp_capability_flags_t bits)
 
std::vector< info::partition_affinity_domain > sycl::_V1::detail::read_domain_bitfield (ur_device_affinity_domain_flags_t bits)
 
std::vector< info::execution_capability > sycl::_V1::detail::read_execution_bitfield (ur_device_exec_capability_flag_t 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<>
ext::intel::info::device::device_id::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::device_id > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::uuid::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::uuid > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::pci_address::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::pci_address > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_eu_simd_width::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_eu_simd_width > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_eu_count::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_eu_count > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_slices::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_slices > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_subslices_per_slice::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_subslices_per_slice > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_eu_count_per_subslice::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_eu_count_per_subslice > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::gpu_hw_threads_per_eu::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::gpu_hw_threads_per_eu > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::max_mem_bandwidth::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::max_mem_bandwidth > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::free_memory::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::free_memory > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::memory_clock_rate::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::memory_clock_rate > (const DeviceImplPtr &Dev)
 
template<>
ext::intel::info::device::memory_bus_width::return_type sycl::_V1::detail::get_device_info< ext::intel::info::device::memory_bus_width > (const DeviceImplPtr &Dev)
 

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;