51 lines
2 KiB
YAML
51 lines
2 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
|
|
# GPU *core* min/max (dynamic) clock, only applies to non-default amdgpu profiles
|
|
gpu_clock_min: "750" # default 500
|
|
gpu_clock_max: "2600" # default 2529
|
|
#
|
|
# GPU memory *static* clock, should also only apply for non-default amdgpu profiles
|
|
gpumem_clock_max: "1050"
|
|
#
|
|
# optional, applies offset to GPU voltage
|
|
# gpu_mv_offset: ""
|
|
# eg: '+100' = to boost GPU core voltage 100mV or 0.1V. for the 'custom' GPU profile.
|
|
#
|
|
# 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 - default
|
|
3D:
|
|
pwrmode: 1
|
|
pwr_cap_multi: 0.789473684210526 # 255W - default
|
|
VR:
|
|
pwrmode: 4
|
|
pwr_cap_multi: 0.789473684210526 # 255W - default
|
|
compute:
|
|
pwrmode: 5
|
|
pwr_cap_multi: 0.789473684210526 # 255W - default
|
|
custom:
|
|
pwrmode: 6
|
|
pwr_cap_multi: 0.869969040247678 # 281W - slight boost
|
|
# both dictionaries are merged to create new 'tuned' profiles. eg:
|
|
# 'balanced-amdgpu-default', 'balanced-amdgpu-3D', 'balanced-amdgpu-video'
|