README: add new voltage var and profile breakdown
This commit is contained in:
parent
ca723c732b
commit
e377269c67
1 changed files with 22 additions and 35 deletions
57
README.md
57
README.md
|
@ -1,12 +1,25 @@
|
||||||
# tuned-amdgpu
|
# tuned-amdgpu
|
||||||
|
|
||||||
hacky solution to integrate AMDGPU power profile control in `tuned` with Ansible
|
Hacky solution to integrate AMDGPU power profile control in `tuned` with Ansible
|
||||||
|
|
||||||
|
Takes a list of existing `tuned` profiles and creates new ones based on them. These new profiles include AMDGPU power/clock parameters
|
||||||
|
|
||||||
|
## Profiles
|
||||||
|
|
||||||
|
An example of the output/provided profiles follow
|
||||||
|
|
||||||
|
| Output profile | Description |
|
||||||
|
|---|---|
|
||||||
|
| `balanced-amdgpu-default` | Includes the existing `balanced` tuned profile. Only adjusts the GPU power limit (typically lower), clocks/voltage curve remain the default. |
|
||||||
|
| `desktop-amdgpu-VR` | Includes the existing `desktop` tuned profile. Adjusts the GPU power limit, clocks, and the voltage curve -- using the predefined `VR` profile in the driver |
|
||||||
|
| `latency-performance-amdgpu-custom` | Includes the existing `latency-performance` tuned profile. Adjusts the GPU power limit, clocks, and the voltage curve -- using the `custom` profile in the driver. This opens up further tweaking through the driver (currently manual). see: [pp-dpm](https://docs.kernel.org/gpu/amdgpu/thermal.html#pp-dpm) |
|
||||||
|
|
||||||
## Notable variables
|
## Notable variables
|
||||||
- Power control: (float) multipliers to determine power _limits_ from board power _capability_
|
- Power control: (float) multipliers to determine power _limits_ from board power _capability_
|
||||||
- `power_max_default_multi`: Controls power for the generated `default` GPU profile. Provided: `0.75` for 75% board power capability.
|
- `power_max_default_multi`: Controls power for the generated `default` GPU profile. Provided: `0.75` for 75% board power capability.
|
||||||
- `power_max_custom_multi`: Controls power for the generated `custom` GPU profile. Provided: `1.0` for 100% board power capability.
|
- `power_max_custom_multi`: Controls power for the generated `custom` GPU profile. Provided: `1.0` for 100% board power capability.
|
||||||
- `card`: Sets the `card#` to use in the qualified `sysfs` path `/sys/class/drm/{{ card }}/device/pp_power_profile_mode`. Default: `card0`
|
- `card`: Sets the `card#` to use in the qualified `sysfs` path `/sys/class/drm/{{ card }}/device/pp_power_profile_mode`. Default: `card0`
|
||||||
|
- `gpu_mv_offset`: optional, applies offset to GPU voltage, eg: `+100` = to boost GPU core voltage `100mV` or `0.1V`. Can undervolt.
|
||||||
- `base_profiles`: List of base tuned profiles to clone in the new AMDGPU profiles. Defaults (based on `Fedora`):
|
- `base_profiles`: List of base tuned profiles to clone in the new AMDGPU profiles. Defaults (based on `Fedora`):
|
||||||
- `balanced`
|
- `balanced`
|
||||||
- `desktop`
|
- `desktop`
|
||||||
|
@ -15,40 +28,14 @@ hacky solution to integrate AMDGPU power profile control in `tuned` with Ansible
|
||||||
- `network-throughput`
|
- `network-throughput`
|
||||||
- `powersave`
|
- `powersave`
|
||||||
- `virtual-host`
|
- `virtual-host`
|
||||||
- `amdgpu_profiles`: Mapping of AMDGPU power profiles (`name`/`value`) defined in the `sysfs` path above. Varies, sample is with a 6900XT. Defaults:
|
|
||||||
- `{ name: 'default', value: 0 }`
|
|
||||||
- `{ name: 'custom', value: 6 }`
|
|
||||||
|
|
||||||
## Example profiles/output
|
`amdgpu_profiles`: Mapping of AMDGPU power profiles (`name`/`value`) defined in the `sysfs` path above. Varies, sample is with a 6900XT. Defaults below
|
||||||
```
|
```
|
||||||
$ tuned-adm profile
|
amdgpu_profiles: # statically defined mapping of the contents in /sys/class/drm/card*/device/pp_power_profile_mode
|
||||||
Available profiles:
|
default: # more may be added, but do not remove default/custom. new profiles require a script template, see 'templates'
|
||||||
- accelerator-performance - Throughput performance based tuning with disabled higher latency STOP states
|
pwrmode: 0
|
||||||
- balanced - General non-specialized tuned profile
|
VR:
|
||||||
- balanced-amdgpu-custom - balanced + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
pwrmode: 4
|
||||||
- balanced-amdgpu-default - balanced + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
custom:
|
||||||
- desktop - Optimize for the desktop use-case
|
pwrmode: 6
|
||||||
- desktop-amdgpu-custom - desktop + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- desktop-amdgpu-default - desktop + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
- hpc-compute - Optimize for HPC compute workloads
|
|
||||||
- intel-sst - Configure for Intel Speed Select Base Frequency
|
|
||||||
- latency-performance - Optimize for deterministic performance at the cost of increased power consumption
|
|
||||||
- latency-performance-amdgpu-custom- latency-performance + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- latency-performance-amdgpu-default- latency-performance + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
- network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
|
|
||||||
- network-latency-amdgpu-custom- network-latency + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- network-latency-amdgpu-default- network-latency + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
- network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
|
|
||||||
- network-throughput-amdgpu-custom- network-throughput + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- network-throughput-amdgpu-default- network-throughput + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
- optimize-serial-console - Optimize for serial console use.
|
|
||||||
- powersave - Optimize for low power consumption
|
|
||||||
- powersave-amdgpu-custom - powersave + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- powersave-amdgpu-default - powersave + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
- throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
|
|
||||||
- virtual-guest - Optimize for running inside a virtual guest
|
|
||||||
- virtual-host - Optimize for running KVM guests
|
|
||||||
- virtual-host-amdgpu-custom - virtual-host + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 6 (custom)
|
|
||||||
- virtual-host-amdgpu-default - virtual-host + TCP/RAID tweaks + AMDGPU pp_power_profile_mode = 0 (default)
|
|
||||||
Current active profile: network-latency-amdgpu-default
|
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue