geopm
3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
|
#include <NVMLDevicePool.hpp>
Public Member Functions | |
NVMLDevicePool ()=default | |
virtual | ~NVMLDevicePool ()=default |
virtual int | num_gpu (void) const =0 |
Number of GPUs on the platform. More... | |
virtual std::unique_ptr< cpu_set_t, std::function< void(cpu_set_t *)> > | cpu_affinity_ideal_mask (int gpu_idx) const =0 |
CPU Affinitization mask for a particular GPU. More... | |
virtual uint64_t | frequency_status_sm (int gpu_idx) const =0 |
Get the NVML device streaming multiprocessor frequency in MHz. More... | |
virtual std::vector< unsigned int > | frequency_supported_sm (int gpu_idx) const =0 |
Get the supported NVML device streaming multiprocessor frequencies in MHz. More... | |
virtual uint64_t | utilization (int gpu_idx) const =0 |
Get the NVML device utilization metric. More... | |
virtual uint64_t | power (int gpu_idx) const =0 |
Get the NVML device power in milliwatts. More... | |
virtual uint64_t | power_limit (int gpu_idx) const =0 |
Get the NVML device power limit in milliwatts. More... | |
virtual uint64_t | frequency_status_mem (int gpu_idx) const =0 |
Get the NVML device memory subsystem frequency in MHz. More... | |
virtual uint64_t | throttle_reasons (int gpu_idx) const =0 |
Get the current NVML device clock throttle reasons. More... | |
virtual uint64_t | temperature (int gpu_idx) const =0 |
Get the current NVML device temperature. More... | |
virtual uint64_t | energy (int gpu_idx) const =0 |
Get the total energy consumed counter value for an NVML device in millijoules. More... | |
virtual uint64_t | performance_state (int gpu_idx) const =0 |
Get the current performance state of an NVML device. More... | |
virtual uint64_t | throughput_rx_pcie (int gpu_idx) const =0 |
Get the pcie receive throughput over a 20ms period for an NVML device. More... | |
virtual uint64_t | throughput_tx_pcie (int gpu_idx) const =0 |
Get the pcie transmit throughput over a 20ms period for an NVML device. More... | |
virtual uint64_t | utilization_mem (int gpu_idx) const =0 |
Get the NVML device memory Utilization metric. More... | |
virtual std::vector< int > | active_process_list (int gpu_idx) const =0 |
Get the list of PIDs with an active context on an NVML device. More... | |
virtual void | frequency_control_sm (int gpu_idx, int min_freq, int max_freq) const =0 |
Set min and max frequency for NVML device. More... | |
virtual void | frequency_reset_control (int gpu_idx) const =0 |
Reset min and max frequency for NVML device. More... | |
virtual void | power_control (int gpu_idx, int setting) const =0 |
Set power limit for NVML device. More... | |
virtual bool | is_privileged_access (void) const =0 |
virtual void | reset (void)=0 |
|
default |
|
virtualdefault |
|
pure virtual |
Get the list of PIDs with an active context on an NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
CPU Affinitization mask for a particular GPU.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the total energy consumed counter value for an NVML device in millijoules.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Set min and max frequency for NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
[in] | min_freq | Target min frequency in MHz. |
[in] | max_freq | Target max frequency in MHz. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Reset min and max frequency for NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device memory subsystem frequency in MHz.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device streaming multiprocessor frequency in MHz.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the supported NVML device streaming multiprocessor frequencies in MHz.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Number of GPUs on the platform.
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the current performance state of an NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device power in milliwatts.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Set power limit for NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
[in] | setting | Power cap in milliwatts. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device power limit in milliwatts.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the current NVML device temperature.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the current NVML device clock throttle reasons.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the pcie receive throughput over a 20ms period for an NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the pcie transmit throughput over a 20ms period for an NVML device.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device utilization metric.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.
|
pure virtual |
Get the NVML device memory Utilization metric.
[in] | gpu_idx | The index indicating a particular GPU. |
Implemented in geopm::NVMLDevicePoolImp.