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