rename mem var, update readme

This commit is contained in:
Josh Lay 2022-11-27 01:19:40 -06:00
parent c33a17d42f
commit dd5071bfe0
Signed by: jlay
GPG key ID: B265E45CACAD108A
3 changed files with 12 additions and 14 deletions

View file

@ -28,12 +28,12 @@ An example of the output/provided profiles follow
These are the variables you're likely to want to change. They are defined in [playbook.yml](playbook.yml)
| Variable | Description | Default |
| Variable | Description | In-playbook |
|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| gpu_clock_min | Sets the minimum (dynamic) GPU clock for the non-default `amdgpu` profiles | 2000, results in 2Ghz |
| gpu_clock_max | Sets the maximum (dynamic) GPU clock for the non-default `amdgpu` profiles | 2615, results in 2.62Ghz (rounded) -- mild overclock |
| gpumem_clock_max | Sets the _static_ memory clock for the GPU. This is *not* the _effective_ data rate. That is a multiple of this depending on the type of VRAM.<br/><br/>To avoid flickering this does *not* change dynamically with load. | 1075, results in 1.1Ghz (base, rounded) |
| gpu_mv_offset | GPU core voltage offset. Takes +/- some integer in millivolts. Can be used to both over _and_ under volt. | `-25` (undervolt `25mV` or `0.025V`) |
| gpu_clock_min | Sets the minimum (dynamic) GPU clock (in `Mhz`) for the non-default `amdgpu` profiles | `700` |
| gpu_clock_max | Sets the maximum (dynamic) GPU clock (in `MHz`) for the non-default `amdgpu` profiles | `2600`, results in `2.6GHz` (rounded); mild overclock |
| gpumem_clock_static | Sets the _static_ memory clock for the GPU (in `MHz`). This is *not* the _effective_ data rate. That is a multiple of this depending on the type of VRAM.<br/><br/>To avoid flickering this does *not* change dynamically with load. | `1050`, results in just over `1GHz`; mild overclock<br/><br/>Actual effective clock depends on this being multiplied against the data/pump rate of the `GDDR?` GPU memory |
| gpu_mv_offset | GPU core voltage offset. Takes +/- some integer in millivolts. Can be used to both over _and_ under volt. | `-10` (undervolt `10mV` or `0.01V`) |
| base_profiles | List of base tuned profiles to clone in the new AMDGPU profiles. Defaults based on `Fedora` | <ul><li>`balanced`</li><li>`desktop`</li><li>`latency-performance`</li><li>`network-latency`</li><li>`network-throughput`</li><li>`powersave`</li><li>`virtual-host`</li>|
| amdgpu_profiles | Dictionary mapping the AMDGPU power profiles found in `/sys/class/drm/card*/device/pp_power_profile_mode` and custom power limits.<br/><br>For each item, two keys: `pwrmode` and `pwr_cap_multi`.<br/><br/>`pwrmode` maps to the number assigned in `/sys` above.<br/>`pwr_cap_multi` is a multiplier against board power capability. Must be a float, eg: `0.5` for *50%* | <pre>default:<br/> pwrmode: 0<br/> pwr_cap_multi: 0.75<br/> # 75% relatively safe default<br/>VR:<br/> pwrmode: 4<br/> pwr_cap_multi: 0.8<br/> # 80%, likely slight boost<br/>custom:<br/> pwrmode: 6<br/> pwr_cap_multi: 1.0<br/> # 100%, full GPU board capability<br/> # warning: significantly increased heat</pre>|

View file

@ -5,16 +5,14 @@
# 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
# 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: "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.
gpumem_clock_static: "1050"
# optional, applies offset (+/-) to GPU voltage
gpu_mv_offset: "-10"
# boosts 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:

View file

@ -55,7 +55,7 @@ echo 's 0 {{ gpu_clock_min }}' | tee /sys/class/drm/"${CARD}"/device/pp_od_clk_v
echo 's 1 {{ gpu_clock_max }}' | tee /sys/class/drm/"${CARD}"/device/pp_od_clk_voltage
# set the maximum GPU *memory* clock
echo 'm 1 {{ gpumem_clock_max }}' | tee /sys/class/drm/"${CARD}"/device/pp_od_clk_voltage
echo 'm 1 {{ gpumem_clock_static }}' | tee /sys/class/drm/"${CARD}"/device/pp_od_clk_voltage
{% if gpu_mv_offset is defined %}
# offset GPU voltage {{ gpu_mv_offset }}mV