diff --git a/README.md b/README.md
index 5353088..f4e3662 100644
--- a/README.md
+++ b/README.md
@@ -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.
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.
To avoid flickering this does *not* change dynamically with load. | `1050`, results in just over `1GHz`; mild overclock
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` |
default:| diff --git a/playbook.yml b/playbook.yml index 0476a5e..afeb9cb 100644 --- a/playbook.yml +++ b/playbook.yml @@ -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: diff --git a/roles/tuned_amdgpu/templates/amdgpu-clock.sh.j2 b/roles/tuned_amdgpu/templates/amdgpu-clock.sh.j2 index 4efd30a..90c5f0b 100644 --- a/roles/tuned_amdgpu/templates/amdgpu-clock.sh.j2 +++ b/roles/tuned_amdgpu/templates/amdgpu-clock.sh.j2 @@ -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
pwrmode: 0
pwr_cap_multi: 0.75
# 75% relatively safe default
VR:
pwrmode: 4
pwr_cap_multi: 0.8
# 80%, likely slight boost
custom:
pwrmode: 6
pwr_cap_multi: 1.0
# 100%, full GPU board capability
# warning: significantly increased heat