tuned-amdgpu/playbook.yml

55 lines
2.3 KiB
YAML

---
- hosts: localhost
name: "Configure 'tuned' with AMD GPU control"
roles:
# role prepares/modifies 'tuned' with AMD GPU power/clock parameters
# creates a new tuned profile made for each permutation of (base) 'tuned' profile + AMD powerplay profile
- role: tuned_amdgpu
# note: 'gpu_*' vars only apply with the 'custom' suffixed profiles created by this tooling
# profiles based on the 'default' amdgpu power profile mode use default clocks
gpu_clock_min: "500" # default 500
gpu_clock_max: "2615" # default 2529
gpumem_clock_static: "1075"
gpu_power_multi:
default: 0.789473684210526 # 255W - slightly reduced, maintains clocks well
overclock: 0.869969040247678 # 281W - real default, board supports up to 323W (1.0)
# optional, applies offset (+/-) to GPU voltage by provided mV
# gpu_mv_offset: "-25"
# '-50' undervolts GPU core voltage 50mV or 0.05V
#
# list of source tuned profiles available on Fedora (TODO: should dynamically discover)
base_profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- virtual-host
#
# mapping of typical Navi generation power profiles from:
# /sys/class/drm/card*/device/pp_power_profile_mode
# ref: https://www.kernel.org/doc/html/v4.20/gpu/amdgpu.html#pp-power-profile-mode
# 'pwr_cap_multi' is multiplied against board *limit* to determine profile wattage; 0.5 = 50%
# values below reflect my 6900XT
# amdgpu_profiles:
# default:
# pwrmode: 0
# pwr_cap_multi: 0.789473684210526 # 255W - slightly reduced, maintains clocks well
# 3D:
# pwrmode: 1
# pwr_cap_multi: 0.869969040247678 # 281W - default
# powersave:
# pwrmode: 2
# pwr_cap_multi: 0.869969040247678
# VR:
# pwrmode: 4
# pwr_cap_multi: 0.869969040247678
# compute:
# pwrmode: 5
# pwr_cap_multi: 0.869969040247678
# custom:
# pwrmode: 6
# pwr_cap_multi: 1.0 # 323W - full capability
# both dictionaries are merged to create new 'tuned' profiles. eg:
# 'balanced-amdgpu-default', 'balanced-amdgpu-3D', 'balanced-amdgpu-video'