|
geopm 3.2.1.dev237+gbe30cff60
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. | |
| 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. | |
| virtual uint64_t | frequency_status_sm (int gpu_idx) const override |
| Get the NVML device streaming multiprocessor frequency in MHz. | |
| virtual std::vector< unsigned int > | frequency_supported_sm (int gpu_idx) const override |
| Get the supported NVML device streaming multiprocessor frequencies in MHz. | |
| virtual uint64_t | utilization (int gpu_idx) const override |
| Get the NVML device utilization metric. | |
| virtual uint64_t | power (int gpu_idx) const override |
| Get the NVML device power in milliwatts. | |
| virtual uint64_t | power_limit (int gpu_idx) const override |
| Get the NVML device power limit in milliwatts. | |
| virtual uint64_t | frequency_status_mem (int gpu_idx) const override |
| Get the NVML device memory subsystem frequency in MHz. | |
| virtual uint64_t | throttle_reasons (int gpu_idx) const override |
| Get the current NVML device clock throttle reasons. | |
| virtual uint64_t | temperature (int gpu_idx) const override |
| Get the current NVML device temperature. | |
| virtual uint64_t | energy (int gpu_idx) const override |
| Get the total energy consumed counter value for an NVML device in millijoules. | |
| virtual uint64_t | performance_state (int gpu_idx) const override |
| Get the current performance state of an NVML device. | |
| virtual uint64_t | throughput_rx_pcie (int gpu_idx) const override |
| Get the pcie receive throughput over a 20ms period for an NVML device. | |
| virtual uint64_t | throughput_tx_pcie (int gpu_idx) const override |
| Get the pcie transmit throughput over a 20ms period for an NVML device. | |
| virtual uint64_t | utilization_mem (int gpu_idx) const override |
| Get the NVML device memory Utilization metric. | |
| 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. | |
| virtual void | frequency_control_sm (int gpu_idx, int min_freq, int max_freq) const override |
| Set min and max frequency for NVML device. | |
| virtual void | frequency_reset_control (int gpu_idx) const override |
| Reset min and max frequency for NVML device. | |
| virtual void | power_control (int gpu_idx, int setting) const override |
| Set power limit for NVML device. | |
| 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.