6 #ifndef LEVELZERODEVICEPOOLIMP_HPP_INCLUDE
7 #define LEVELZERODEVICEPOOLIMP_HPP_INCLUDE
25 int num_gpu(
int domain_type)
const override;
27 int l0_domain)
const override;
29 int l0_domain)
const override;
31 int l0_domain)
const override;
33 int l0_domain)
const override;
35 int l0_domain)
const override;
37 int l0_domain)
const override;
39 unsigned int domain_idx,
40 int l0_domain)
const override;
42 int l0_domain)
const override;
44 unsigned int device_idx,
45 int l0_domain)
const override;
46 uint64_t
active_time(
int domain,
unsigned int device_idx,
47 int l0_domain)
const override;
49 int l0_domain)
const override;
51 int l0_domain)
const override;
53 int l0_domain)
const override;
55 int l0_domain)
const override;
56 std::pair<uint64_t, uint64_t>
energy_pair(
int domain,
unsigned int domain_idx,
57 int l0_domain)
const override;
58 uint64_t
energy(
int domain,
unsigned int domain_idx,
int l0_domain)
const override;
60 int l0_domain)
const override;
62 unsigned int domain_idx,
63 int l0_domain)
const override;
65 int l0_domain,
double range_min,
66 double range_max)
const override;
69 double setting)
const override;
71 int l0_domain)
const override;
73 int l0_domain)
const override;
75 int l0_domain)
const override;
77 int l0_domain)
const override;
79 int l0_domain)
const override;
81 int l0_domain)
const override;
83 int l0_domain)
const override;
85 int l0_domain)
const override;
87 int l0_domain)
const override;
89 int l0_domain)
const override;
91 int l0_domain)
const override;
93 int l0_domain)
const override;
95 int l0_domain)
const override;
97 int l0_domain)
const override;
101 void check_idx_range(
int domain,
unsigned int domain_idx)
const;
102 void check_domain_exists(
int size,
const char *func,
int line)
const;
103 std::pair<unsigned int, unsigned int> subdevice_device_conversion(
unsigned int idx)
const;
Definition: LevelZeroDevicePool.hpp:19
Definition: LevelZeroDevicePoolImp.hpp:20
double frequency_min(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device mininmum frequency in MHz.
Definition: LevelZeroDevicePool.cpp:127
void performance_factor_control(int domain, unsigned int domain_idx, int l0_domain, double setting) const override
Set performance factor for LevelZero device.
Definition: LevelZeroDevicePool.cpp:474
double ras_compute_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable errors that have occurred in the compute accelerator...
Definition: LevelZeroDevicePool.cpp:549
double ras_display_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable errors that have occurred in the display.
Definition: LevelZeroDevicePool.cpp:603
double ras_driver_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of low level driver communication correctable errors have occurred.
Definition: LevelZeroDevicePool.cpp:531
double frequency_status(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device actual frequency in MHz.
Definition: LevelZeroDevicePool.cpp:91
uint32_t frequency_throttle_reasons(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device frequency throttle reasons.
Definition: LevelZeroDevicePool.cpp:191
double temperature_max(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero domain maximum temperature in Celsius.
Definition: LevelZeroDevicePool.cpp:229
double performance_factor(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device performance factor.
Definition: LevelZeroDevicePool.cpp:438
double ras_cache_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable errors that have occurred in caches (L1/L3/register ...
Definition: LevelZeroDevicePool.cpp:585
uint64_t active_time(int domain, unsigned int device_idx, int l0_domain) const override
Get the LevelZero device timestamp for the active time value in microseconds.
Definition: LevelZeroDevicePool.cpp:290
double ras_cache_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable errors that have occurred in caches (L1/L3/registe...
Definition: LevelZeroDevicePool.cpp:713
LevelZeroDevicePoolImp()
Definition: LevelZeroDevicePool.cpp:31
double frequency_step(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device frequency step in MHz.
Definition: LevelZeroDevicePool.cpp:163
double ras_compute_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable errors that have occurred in the compute accelerat...
Definition: LevelZeroDevicePool.cpp:677
double frequency_efficient(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device efficient frequency in MHz.
Definition: LevelZeroDevicePool.cpp:109
void frequency_control(int domain, unsigned int domain_idx, int l0_domain, double range_min, double range_max) const override
Set min and max frequency for LevelZero device.
Definition: LevelZeroDevicePool.cpp:454
virtual ~LevelZeroDevicePoolImp()=default
std::pair< double, double > frequency_range(int domain, unsigned int domain_idx, int l0_domain) const override
Definition: LevelZeroDevicePool.cpp:209
uint64_t energy(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device energy in microjoules.
Definition: LevelZeroDevicePool.cpp:411
int32_t power_limit_min(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device minimum power limit in milliwatts.
Definition: LevelZeroDevicePool.cpp:309
double frequency_max(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device maximum frequency in MHz.
Definition: LevelZeroDevicePool.cpp:145
double ras_noncompute_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable errors that have occurred in the fixed-function ac...
Definition: LevelZeroDevicePool.cpp:695
double ras_programming_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable hardware exceptions generated by the way workloads h...
Definition: LevelZeroDevicePool.cpp:513
std::pair< uint64_t, uint64_t > energy_pair(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device energy in microjoules and timestamp in microseconds.
Definition: LevelZeroDevicePool.cpp:350
double ras_reset_count_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable accelerator engine resets attempted by the driver.
Definition: LevelZeroDevicePool.cpp:623
double ras_reset_count_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable accelerator engine resets attempted by the driver.
Definition: LevelZeroDevicePool.cpp:495
double ras_programming_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable hardware exceptions generated by the way workloads...
Definition: LevelZeroDevicePool.cpp:641
uint64_t energy_timestamp(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device energy timestamp in microseconds.
Definition: LevelZeroDevicePool.cpp:380
int32_t power_limit_max(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device maximum power limit in milliwatts.
Definition: LevelZeroDevicePool.cpp:322
double ras_driver_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of low level driver communication uncorrectable errors have occurre...
Definition: LevelZeroDevicePool.cpp:659
double ras_noncompute_errcount_correctable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of correctable errors that have occurred in the fixed-function acce...
Definition: LevelZeroDevicePool.cpp:567
uint64_t active_time_timestamp(int domain, unsigned int device_idx, int l0_domain) const override
Get the LevelZero device timestamp for the active time value in microseconds.
Definition: LevelZeroDevicePool.cpp:269
int32_t power_limit_tdp(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero device default power limit in milliwatts.
Definition: LevelZeroDevicePool.cpp:336
std::pair< uint64_t, uint64_t > active_time_pair(int domain, unsigned int device_idx, int l0_domain) const override
Get the LevelZero device active time and timestamp in microseconds.
Definition: LevelZeroDevicePool.cpp:248
int num_gpu(int domain_type) const override
Number of GPUs on the platform.
Definition: LevelZeroDevicePool.cpp:36
double ras_display_errcount_uncorrectable(int domain, unsigned int domain_idx, int l0_domain) const override
Get the LevelZero count of number of uncorrectable errors that have occurred in the display.
Definition: LevelZeroDevicePool.cpp:731
Definition: LevelZero.hpp:18
const LevelZero & levelzero()
Definition: LevelZero.cpp:21