geopm
3.1.1.dev296+g5916b956
GEOPM - Global Extensible Open Power Manager
|
#include <LevelZeroDevicePoolImp.hpp>
Public Member Functions | |
LevelZeroDevicePoolImp () | |
LevelZeroDevicePoolImp (const LevelZero &levelzero) | |
virtual | ~LevelZeroDevicePoolImp ()=default |
int | num_gpu (int domain_type) const override |
Number of GPUs on the platform. More... | |
double | frequency_status (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device actual frequency in MHz. More... | |
double | frequency_efficient (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device efficient frequency in MHz. More... | |
double | frequency_min (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device mininmum frequency in MHz. More... | |
double | frequency_max (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device maximum frequency in MHz. More... | |
double | frequency_step (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device frequency step in MHz. More... | |
uint32_t | frequency_throttle_reasons (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device frequency throttle reasons. More... | |
std::pair< double, double > | frequency_range (int domain, unsigned int domain_idx, int l0_domain) const override |
double | temperature_max (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero domain maximum temperature in Celsius. More... | |
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. More... | |
double | 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. More... | |
double | 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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
uint64_t | energy (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device energy in microjoules. More... | |
uint64_t | energy_timestamp (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device energy timestamp in microseconds. More... | |
double | performance_factor (int domain, unsigned int domain_idx, int l0_domain) const override |
Get the LevelZero device performance factor. More... | |
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. More... | |
void | performance_factor_control (int domain, unsigned int domain_idx, int l0_domain, double setting) const override |
Set performance factor for LevelZero device. More... | |
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. More... | |
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 have programmed the hardware. More... | |
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. More... | |
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 hardware. More... | |
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 accelerator hardware. More... | |
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 file/shared local memory/sampler) More... | |
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. More... | |
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. More... | |
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 have programmed the hardware. More... | |
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 occurred. More... | |
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 accelerator hardware. More... | |
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 accelerator hardware. More... | |
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/register file/shared local memory/sampler) More... | |
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. More... | |
Public Member Functions inherited from geopm::LevelZeroDevicePool | |
LevelZeroDevicePool ()=default | |
virtual | ~LevelZeroDevicePool ()=default |
geopm::LevelZeroDevicePoolImp::LevelZeroDevicePoolImp | ( | ) |
geopm::LevelZeroDevicePoolImp::LevelZeroDevicePoolImp | ( | const LevelZero & | levelzero | ) |
|
virtualdefault |
|
overridevirtual |
Get the LevelZero device timestamp for the active time value in microseconds.
Get the LevelZero device active time in microseconds
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device active time and timestamp in microseconds.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device timestamp for the active time value in microseconds.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device energy in microjoules.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device energy in microjoules and timestamp in microseconds.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device energy timestamp in microseconds.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Set min and max frequency for LevelZero device.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
[in] | range_min | Min target frequency in MHz. |
[in] | range_max | Max target frequency in MHz. |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device efficient frequency in MHz.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device maximum frequency in MHz.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device mininmum frequency in MHz.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device actual frequency in MHz.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device frequency step in MHz.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device frequency throttle reasons.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. gpu being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Number of GPUs on the platform.
[in] | domain | The GEOPM domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device performance factor.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. gpu or chip being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Set performance factor for LevelZero device.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. accelerator or chip being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
[in] | setting | Performance factor target, 0 - 1.0 |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device maximum power limit in milliwatts.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device minimum power limit in milliwatts.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero device default power limit in milliwatts.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable errors that have occurred in caches (L1/L3/register file/shared local memory/sampler)
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable errors that have occurred in caches (L1/L3/register file/shared local memory/sampler)
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable errors that have occurred in the compute accelerator hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable errors that have occurred in the compute accelerator hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable errors that have occurred in the display.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable errors that have occurred in the display.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of low level driver communication correctable errors have occurred.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of low level driver communication uncorrectable errors have occurred.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable errors that have occurred in the fixed-function accelerator hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable errors that have occurred in the fixed-function accelerator hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable hardware exceptions generated by the way workloads have programmed the hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable hardware exceptions generated by the way workloads have programmed the hardware.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of correctable accelerator engine resets attempted by the driver.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero count of number of uncorrectable accelerator engine resets attempted by the driver.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.
|
overridevirtual |
Get the LevelZero domain maximum temperature in Celsius.
[in] | domain | The GEOPM domain type being targeted |
[in] | domain_idx | The GEOPM domain index (i.e. GPU being targeted) |
[in] | l0_domain | The LevelZero domain type being targeted |
Implements geopm::LevelZeroDevicePool.