参考情報
Vega 前と後でいろいろ設定方法が異る
amdgpu 21.40 を想定します.
Polaris
cat /sys/class/drm/card0/device/pp_od_clk_voltage
でカードのクロックリストが取れる. card0 は適宜置き換えます.
RX570 16GB blockchain edition
OD_SCLK:
0: 300MHz 900mV
1: 466MHz 900mV
2: 751MHz 900mV
3: 1019MHz 900mV
4: 1074MHz 900mV
5: 1118MHz 900mV
6: 1119MHz 900mV
7: 1275MHz 900mV
sudo sh -c "echo 's 7 1019 900' > /sys/class/drm/card0/device/pp_od_clk_voltage"
s
でシェーダ(?)クロック, m
でメモリクロックを調整します.
ただ, 書き込んだだけではまだ反映されません.
c
コマンド(commit?)を送って反映させるのを忘れずに.
sudo sh -c "echo 'c' > /sys/class/drm/card0/device/pp_od_clk_voltage"
commit 時 GPU にリセットがかかるようなので, GPU 使うアプリは一旦止めるのが安全そうです.
(昔はハングしたものよ...)
状態は
sudo cat /sys/kernel/debug/dri/0/amdgpu_pm_info
で確認できます.
1019 MH/s 900mV で teamredminer で ETH 27 MH/s @ 79W になりました.
RDNA
RDNA2 の pp_od_clk_voltage
OD_SCLK:
0: 500Mhz
1: 2199Mhz
OD_MCLK:
0: 97Mhz
1: 1000MHz
OD_VDDGFX_OFFSET:
0mV
OD_RANGE:
SCLK: 500Mhz 2600Mhz
MCLK: 674Mhz 1075Mhz
ワット指定
Vega 以降は可能の模様なので, rocm-smi で watt 指定が楽でしょう..
https://qiita.com/syoyo/items/78f1093696127b64d684
https://qiita.com/syoyo/items/fbc9375683deac7f0019
また, rocm-smi は Polaris はもう対応しなくなっています.