2022-11-10 23:02:52 +01:00
2023-06-18 14:59:30 +02:00

amdgpu-overclock

Increase performances of your AMD GPU on linux system:

  • UDPATE 2023-06:

Just discovered LACT rust app & daemon -> https://github.com/ilya-zlobintsev/LACT


  • Download & install amdgpu-clocks (go for the "manual installation");
  • Set amdgpu.ppfeaturemask=0xffffffff as boot kernel parameter (Mandatory!) ;
  • Check initial status of your gpu (card0 generally) with cat /sys/class/drm/card0/device/pp_od_clk_voltage

Example output

OD_SCLK:
0: 500Mhz
1: 2580Mhz
OD_MCLK:
0: 97Mhz
1: 1000MHz
OD_VDDGFX_OFFSET:
0mV
OD_RANGE:
SCLK:     500Mhz       3000Mhz
MCLK:     674Mhz       1075Mhz
  • Display all available power profile modes cat /sys/class/drm/card0/device/pp_power_profile_mode

Example output

PROFILE_INDEX(NAME) CLOCK_TYPE(NAME) FPS MinFreqType MinActiveFreqType MinActiveFreq BoosterFreqType BoosterFreq PD_Data_limit_c PD_Data_error_coeff PD_Data_error_rate_coeff
 0 BOOTUP_DEFAULT :
                    0(       GFXCLK)       0       5       1       0       4     800 4587520  -65536       0
                    1(       SOCCLK)       0       5       1       0       1       0 3276800  -65536   -6553
                    2(        MEMLK)       0       5       1       0       4     800  327680  -65536       0
 1 3D_FULL_SCREEN :
                    0(       GFXCLK)       0       5       0    1600       4     650 5242880   -3276       0
                    1(       SOCCLK)       0       5       1       0       1       0  655360  -65536   -6553
                    2(        MEMLK)       0       5       4     850       4     800  327680  -65536       0
 2   POWER_SAVING :
                    0(       GFXCLK)       0       5       1       0       3       0 5898240  -65536       0
                    1(       SOCCLK)       0       5       1       0       1       0 3407872  -65536   -6553
                    2(        MEMLK)       0       5       1       0       3       0 1966080  -65536       0
 3          VIDEO :
                    0(       GFXCLK)       0       5       1       0       4     500 4587520  -65536       0
                    1(       SOCCLK)       0       5       1       0       1       0 3473408  -65536   -6553
                    2(        MEMLK)       0       5       1       0       4     500 1966080  -65536       0
 4             VR :
                    0(       GFXCLK)       0       5       4    1000       1       0 3276800       0       0
                    1(       SOCCLK)       0       5       1       0       1       0  655360  -65536   -6553
                    2(        MEMLK)       0       5       1       0       4     800  327680  -65536       0
 5        COMPUTE*:
                    0(       GFXCLK)       0       5       4    1000       1       0 3932160       0       0
                    1(       SOCCLK)       0       5       1       0       1       0  655360  -65536   -6553
                    2(        MEMLK)       0       5       4     850       3       0  327680  -65536  -32768
 6         CUSTOM :
                    0(       GFXCLK)       0       5       1       0       4     800 4587520  -65536       0
                    1(       SOCCLK)       0       5       1       0       1       0 3276800  -65536   -6553
                    2(        MEMLK)       0       5       1       0       4     800  327680  -65536       0
  • Select the COMPUTE5 power profile to get maximum performances ;
  • Create the file /etc/default/amdgpu-custom-states.card0 ;

Configuration example for my RX 6900XT

You better read the amdgpu-clocks shell script to understand & find some useful variables.

# GPU Clock
OD_SCLK:
0: 500Mhz
1: 2580Mhz

# Compute
FORCE_POWER_PROFILE: 5

# Watt
FORCE_POWER_CAP: 332000000
FORCE_PERF_LEVEL: manual

Sources

Description
A note to remember how to get the most out of the performance I paid for.
Readme 38 KiB
Languages
desktop 100%