User Tools

Site Tools


devices:amd_graphics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
devices:amd_graphics [2018/12/14 22:19] Sean Rhonedevices:amd_graphics [2019/08/23 04:35] – [Set] Sean Rhone
Line 1: Line 1:
 +====== Information ======
 +
 +  * Diagnostic commands for AMD graphics cards
 +
 +====== AMDGPU ======
 +
 +===== References =====
 +
 +  * https://wiki.archlinux.org/index.php/AMDGPU#Overclocking
 +
 +===== Query =====
 +
 +==== Power Info ====
 +
 +****
 +
 +  sudo watch --interval '0.5' cat '/sys/kernel/debug/dri/0/amdgpu_pm_info'
 +
 +==== Power Sates ====
 +
 +****
 +
 +  cat '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +===== Overclock =====
 +
 +==== SCLK ====
 +
 +  * ''7'' is the highest available ''PSTATE'' for ''SCLK''
 +  * ''1386'' is the value for ''SCLK'' for that ''PSTATE''
 +  * ''1155'' is the voltage/''VDDC'' for the specified ''SCLK'' for that ''PSTATE''
 +  * When the highest ''PSTATE'' is used, the GPU Core will run at 1386MHz @ 1155mV
 +  * :!: This does **not** take effect immediately
 +
 +  echo 's 7 1386 1155' | sudo tee '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +==== MCLK ====
 +
 +  * ''2'' is the highest available ''PSTATE'' for ''MCLK''
 +  * ''2025'' is the value for ''MCLK'' for that ''PSTATE''
 +  * ''955'' is the voltage/''VDDC'' for the specified ''MCLK'' for that ''PSTATE''
 +  * When the highest ''PSTATE'' is used, the GPU Memory will run at 2025MHz @ 955mV
 +  * :!: This does **not** take effect immediately
 +
 +  echo 'm 2 2025 955' | sudo tee '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +==== Verify Values ====
 +
 +  * :!: Check if the specified values look alright
 +
 +  cat '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +==== Commit ====
 +
 +  * :!: Be absolutely certain the values above looked alright
 +  * :!: It is **very** well possible to destroy hardware with this if the values are too high
 +
 +  echo 'c' | sudo tee '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +==== Verify Clocks ====
 +
 +  * Runs ''glxgears'' without VSync, thus allowing the GPU to enter the highest ''PSTATE'' automatically
 +  * Queries power info live every 0.5s
 +
 +  vblank_mode='0' glxgears
 +
 +  sudo watch --interval '0.5' cat '/sys/kernel/debug/dri/0/amdgpu_pm_info'
 +
 +==== Reset Clocks ====
 +
 +  * Sets all CLKs and VDDCs to card defaults and commits it
 +
 +  echo 'r' | sudo tee '/sys/class/drm/card0/device/pp_od_clk_voltage' && echo 'c' | sudo tee '/sys/class/drm/card0/device/pp_od_clk_voltage'
 +
 +===== PSTATE Control =====
 +
 +==== Manual Controls ====
 +
 +  * ''PSTATE'' will be manually controllable
 +  * TODO: ''auto'' makes sense as the default for this?
 +
 +  echo 'manual' | sudo tee '/sys/class/drm/card0/device/power_dpm_force_performance_level'
 +
 +  cat '/sys/class/drm/card0/device/power_dpm_force_performance_level'
 +
 +==== SCLK ===
 +
 +  * Can allow either a single ''PSTATE'', or multiple to be automatically selected for ''SCLK'' based on GPU load
 +
 +  echo '7' | sudo tee '/sys/class/drm/card0/device/pp_dpm_sclk'
 +
 +  echo '5 6 7' | sudo tee '/sys/class/drm/card0/device/pp_dpm_sclk'
 +
 +==== MCLK ====
 +
 +  * Can allow either a single ''PSTATE'', or multiple to be automatically selected for ''MCLK'' based on GPU load
 +
 +  echo '2' | sudo tee '/sys/class/drm/card0/device/pp_dpm_mclk'
 +
 +  echo '1 2' | sudo tee '/sys/class/drm/card0/device/pp_dpm_mclk'
 +
 +===== Power Limit =====
 +
 +==== Query ====
 +
 +****
 +
 +  cat '/sys/class/drm/card0/device/hwmon/hwmon'*'/power1_cap'
 +
 +==== Get Max ====
 +
 +****
 +
 +  cat '/sys/class/drm/card0/device/hwmon/hwmon'*'/power1_cap_max'
 +
 +==== Set ====
 +
 +  * :!: This makes fun assumptions, but theoretically shouldn't allow the power cap to go above levels stated in the firmware; might not be dangerous
 +
 +  echo "$(cat '/sys/class/drm/card0/device/hwmon/hwmon'*'/power1_cap_max')" | sudo tee '/sys/class/drm/card0/device/hwmon/hwmon'*'/power1_cap' > '/dev/null'
 +
 +  echo "$(cat '/sys/class/drm/card1/device/hwmon/hwmon'*'/power1_cap_max')" | sudo tee '/sys/class/drm/card1/device/hwmon/hwmon'*'/power1_cap' > '/dev/null'
  
/var/www/wiki/data/pages/devices/amd_graphics.txt · Last modified: 2020/01/19 09:32 by Sean Rhone