====== Ubuntu - GPU - AMD GPU - Power Management ======
**dpm** is the default power management method; and it has three main modes of operating:
* battery.
* balanced.
* performance.
----
===== Check the existing Power Management Method =====
cat /sys/class/drm/card0/device/power_dpm_state
returns:
performance
----
===== Set the GPU to the Performance mode =====
sudo echo performance > /sys/class/drm/card0/device/power_dpm_state
**NOTE:** Even if GPU is set to performance-mode it does not mean that the GPU is running with highest clockspeeds all the time.
* This is the normal and intended way how dpm works.
If it is desirable to run the GPU at the highest speeds all the time, even if there is no actual load:
sudo echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
* This manually overrides the dpm behaviour.
* This is however mainly intended for testing purposes but may also be useful when doing GPU benchmarks.
To give control back to dpm following command is needed to run:
sudo echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level
A list of all available modes can be found on [[https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#power-dpm-force-performance-level|dri.freedesktop.org]].
----
===== Clocking and Voltages =====
In order to set clocks and voltages with AMDGPU, first set the performance level to manual:
sudo echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level
Then, adjust clocks/voltages according to the [[https://www.kernel.org/doc/html/latest/gpu/amdgpu/thermal.html#pp-od-clk-voltage|Linux AMDGPU sysfs documentation]] with the pp-od-clk-voltage control file.
----
===== References =====
https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#power-dpm-force-performance-level