DPC++ Runtime
Runtime libraries for oneAPI DPC++
syclcompat::device_info Class Reference

#include <syclcompat/device.hpp>

Public Member Functions

const char * get_name () const
 
char * get_name ()
 
template<typename WorkItemSizesTy = sycl::range<3>, std::enable_if_t< std::is_same_v< WorkItemSizesTy, sycl::range< 3 >>||std::is_same_v< WorkItemSizesTy, int * >, int > = 0>
auto get_max_work_item_sizes () const
 
template<typename WorkItemSizesTy = sycl::range<3>, std::enable_if_t< std::is_same_v< WorkItemSizesTy, sycl::range< 3 >>||std::is_same_v< WorkItemSizesTy, int * >, int > = 0>
auto get_max_work_item_sizes ()
 
bool get_host_unified_memory () const
 
int get_major_version () const
 
int get_minor_version () const
 
int get_integrated () const
 
int get_max_clock_frequency () const
 
int get_max_compute_units () const
 
int get_max_work_group_size () const
 
int get_max_sub_group_size () const
 
int get_max_work_items_per_compute_unit () const
 
int get_max_register_size_per_work_group () const
 
template<typename NDRangeSizeTy = size_t *, std::enable_if_t< std::is_same_v< NDRangeSizeTy, size_t * >||std::is_same_v< NDRangeSizeTy, int * >, int > = 0>
auto get_max_nd_range_size () const
 
template<typename NDRangeSizeTy = size_t *, std::enable_if_t< std::is_same_v< NDRangeSizeTy, size_t * >||std::is_same_v< NDRangeSizeTy, int * >, int > = 0>
auto get_max_nd_range_size ()
 
size_t get_global_mem_size () const
 
size_t get_local_mem_size () const
 
unsigned int get_memory_clock_rate () const
 Returns the maximum clock rate of device's global memory in kHz. More...
 
unsigned int get_memory_bus_width () const
 Returns the maximum bus width between device and memory in bits. More...
 
uint32_t get_device_id () const
 
std::array< unsigned char, 16 > get_uuid () const
 
unsigned int get_global_mem_cache_size () const
 Returns global memory cache size in bytes. More...
 
void set_name (const char *name)
 
void set_max_work_item_sizes (const sycl::range< 3 > max_work_item_sizes)
 
void set_max_work_item_sizes (const sycl::id< 3 > max_work_item_sizes)
 
void set_host_unified_memory (bool host_unified_memory)
 
void set_major_version (int major)
 
void set_minor_version (int minor)
 
void set_integrated (int integrated)
 
void set_max_clock_frequency (int frequency)
 
void set_max_compute_units (int max_compute_units)
 
void set_global_mem_size (size_t global_mem_size)
 
void set_local_mem_size (size_t local_mem_size)
 
void set_max_work_group_size (int max_work_group_size)
 
void set_max_sub_group_size (int max_sub_group_size)
 
void set_max_work_items_per_compute_unit (int max_work_items_per_compute_unit)
 
void set_max_nd_range_size (int max_nd_range_size[])
 
void set_memory_clock_rate (unsigned int memory_clock_rate)
 
void set_memory_bus_width (unsigned int memory_bus_width)
 
void set_max_register_size_per_work_group (int max_register_size_per_work_group)
 
void set_device_id (uint32_t device_id)
 
void set_uuid (std::array< unsigned char, 16 > uuid)
 
void set_global_mem_cache_size (unsigned int global_mem_cache_size)
 

Detailed Description

Definition at line 91 of file device.hpp.

Member Function Documentation

◆ get_device_id()

uint32_t syclcompat::device_info::get_device_id ( ) const
inline

Definition at line 158 of file device.hpp.

◆ get_global_mem_cache_size()

unsigned int syclcompat::device_info::get_global_mem_cache_size ( ) const
inline

Returns global memory cache size in bytes.

Definition at line 161 of file device.hpp.

◆ get_global_mem_size()

size_t syclcompat::device_info::get_global_mem_size ( ) const
inline

◆ get_host_unified_memory()

bool syclcompat::device_info::get_host_unified_memory ( ) const
inline

Definition at line 116 of file device.hpp.

◆ get_integrated()

int syclcompat::device_info::get_integrated ( ) const
inline

Definition at line 119 of file device.hpp.

Referenced by syclcompat::device_ext::get_integrated().

◆ get_local_mem_size()

size_t syclcompat::device_info::get_local_mem_size ( ) const
inline

Definition at line 151 of file device.hpp.

◆ get_major_version()

int syclcompat::device_info::get_major_version ( ) const
inline

Definition at line 117 of file device.hpp.

Referenced by syclcompat::device_ext::get_major_version().

◆ get_max_clock_frequency()

int syclcompat::device_info::get_max_clock_frequency ( ) const
inline

Definition at line 120 of file device.hpp.

Referenced by syclcompat::device_ext::get_max_clock_frequency().

◆ get_max_compute_units()

int syclcompat::device_info::get_max_compute_units ( ) const
inline

Definition at line 121 of file device.hpp.

Referenced by syclcompat::device_ext::get_max_compute_units().

◆ get_max_nd_range_size() [1/2]

template<typename NDRangeSizeTy = size_t *, std::enable_if_t< std::is_same_v< NDRangeSizeTy, size_t * >||std::is_same_v< NDRangeSizeTy, int * >, int > = 0>
auto syclcompat::device_info::get_max_nd_range_size ( )
inline

Definition at line 144 of file device.hpp.

◆ get_max_nd_range_size() [2/2]

template<typename NDRangeSizeTy = size_t *, std::enable_if_t< std::is_same_v< NDRangeSizeTy, size_t * >||std::is_same_v< NDRangeSizeTy, int * >, int > = 0>
auto syclcompat::device_info::get_max_nd_range_size ( ) const
inline

Definition at line 134 of file device.hpp.

◆ get_max_register_size_per_work_group()

int syclcompat::device_info::get_max_register_size_per_work_group ( ) const
inline

◆ get_max_sub_group_size()

int syclcompat::device_info::get_max_sub_group_size ( ) const
inline

Definition at line 123 of file device.hpp.

Referenced by syclcompat::device_ext::get_max_sub_group_size().

◆ get_max_work_group_size()

int syclcompat::device_info::get_max_work_group_size ( ) const
inline

Definition at line 122 of file device.hpp.

Referenced by syclcompat::device_ext::get_max_work_group_size().

◆ get_max_work_item_sizes() [1/2]

template<typename WorkItemSizesTy = sycl::range<3>, std::enable_if_t< std::is_same_v< WorkItemSizesTy, sycl::range< 3 >>||std::is_same_v< WorkItemSizesTy, int * >, int > = 0>
auto syclcompat::device_info::get_max_work_item_sizes ( )
inline

Definition at line 110 of file device.hpp.

◆ get_max_work_item_sizes() [2/2]

template<typename WorkItemSizesTy = sycl::range<3>, std::enable_if_t< std::is_same_v< WorkItemSizesTy, sycl::range< 3 >>||std::is_same_v< WorkItemSizesTy, int * >, int > = 0>
auto syclcompat::device_info::get_max_work_item_sizes ( ) const
inline

Definition at line 100 of file device.hpp.

◆ get_max_work_items_per_compute_unit()

int syclcompat::device_info::get_max_work_items_per_compute_unit ( ) const
inline

Definition at line 124 of file device.hpp.

◆ get_memory_bus_width()

unsigned int syclcompat::device_info::get_memory_bus_width ( ) const
inline

Returns the maximum bus width between device and memory in bits.

If compiler does not support this API then returns default value 64 bits.

Definition at line 157 of file device.hpp.

◆ get_memory_clock_rate()

unsigned int syclcompat::device_info::get_memory_clock_rate ( ) const
inline

Returns the maximum clock rate of device's global memory in kHz.

If compiler does not support this API then returns default value 3200000 kHz.

Definition at line 154 of file device.hpp.

◆ get_minor_version()

int syclcompat::device_info::get_minor_version ( ) const
inline

Definition at line 118 of file device.hpp.

Referenced by syclcompat::device_ext::get_minor_version().

◆ get_name() [1/2]

char* syclcompat::device_info::get_name ( )
inline

Definition at line 95 of file device.hpp.

◆ get_name() [2/2]

const char* syclcompat::device_info::get_name ( ) const
inline

Definition at line 94 of file device.hpp.

◆ get_uuid()

std::array<unsigned char, 16> syclcompat::device_info::get_uuid ( ) const
inline

Definition at line 159 of file device.hpp.

◆ set_device_id()

void syclcompat::device_info::set_device_id ( uint32_t  device_id)
inline

Definition at line 229 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_global_mem_cache_size()

void syclcompat::device_info::set_global_mem_cache_size ( unsigned int  global_mem_cache_size)
inline

Definition at line 231 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_global_mem_size()

void syclcompat::device_info::set_global_mem_size ( size_t  global_mem_size)
inline

Definition at line 197 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_host_unified_memory()

void syclcompat::device_info::set_host_unified_memory ( bool  host_unified_memory)
inline

Definition at line 187 of file device.hpp.

◆ set_integrated()

void syclcompat::device_info::set_integrated ( int  integrated)
inline

Definition at line 192 of file device.hpp.

◆ set_local_mem_size()

void syclcompat::device_info::set_local_mem_size ( size_t  local_mem_size)
inline

Definition at line 200 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_major_version()

void syclcompat::device_info::set_major_version ( int  major)
inline

Definition at line 190 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_clock_frequency()

void syclcompat::device_info::set_max_clock_frequency ( int  frequency)
inline

Definition at line 193 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_compute_units()

void syclcompat::device_info::set_max_compute_units ( int  max_compute_units)
inline

Definition at line 194 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_nd_range_size()

void syclcompat::device_info::set_max_nd_range_size ( int  max_nd_range_size[])
inline

Definition at line 213 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_register_size_per_work_group()

void syclcompat::device_info::set_max_register_size_per_work_group ( int  max_register_size_per_work_group)
inline

Definition at line 226 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_sub_group_size()

void syclcompat::device_info::set_max_sub_group_size ( int  max_sub_group_size)
inline

Definition at line 206 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_work_group_size()

void syclcompat::device_info::set_max_work_group_size ( int  max_work_group_size)
inline

Definition at line 203 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_work_item_sizes() [1/2]

void syclcompat::device_info::set_max_work_item_sizes ( const sycl::id< 3 >  max_work_item_sizes)
inline

Definition at line 181 of file device.hpp.

◆ set_max_work_item_sizes() [2/2]

void syclcompat::device_info::set_max_work_item_sizes ( const sycl::range< 3 >  max_work_item_sizes)
inline

Definition at line 175 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_max_work_items_per_compute_unit()

void syclcompat::device_info::set_max_work_items_per_compute_unit ( int  max_work_items_per_compute_unit)
inline

Definition at line 210 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_memory_bus_width()

void syclcompat::device_info::set_memory_bus_width ( unsigned int  memory_bus_width)
inline

Definition at line 222 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_memory_clock_rate()

void syclcompat::device_info::set_memory_clock_rate ( unsigned int  memory_clock_rate)
inline

Definition at line 219 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_minor_version()

void syclcompat::device_info::set_minor_version ( int  minor)
inline

Definition at line 191 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().

◆ set_name()

void syclcompat::device_info::set_name ( const char *  name)
inline

Definition at line 166 of file device.hpp.

References syclcompat::length().

Referenced by syclcompat::device_ext::get_device_info().

◆ set_uuid()

void syclcompat::device_info::set_uuid ( std::array< unsigned char, 16 >  uuid)
inline

Definition at line 230 of file device.hpp.

Referenced by syclcompat::device_ext::get_device_info().


The documentation for this class was generated from the following file: