電力バカ食いのRadeon VIIを低電圧化する(2024版)
2024-01-14グラフィックドライバーを更新したところ、以前の方法ではシステムが強制終了するようになったので、別のやり方で低電圧化する。
最新の環境では電力バカ食いのRadeon VIIを低電圧化するの方法でうまく動作しないことが判明した。
原因
前の記事では、OD_VDDC_CURVEを設定していたが、最新ドライバーではうまく動作しないっぽい。
$sudo sh -c "echo vc 2 1801 1124 > /sys/class/drm/card0/device/pp_od_clk_voltage"
具体的には、上記コマンドでコア電圧を変更するとシステムが強制終了したり、出力される画像が黒一色になる。
対策
$sudo sh -c "echo s 1 コアクロック > /sys/class/drm/card0/device/pp_od_clk_voltage"
コアクロックのみ手動で変更し、電圧は自動設定に任せる。
※上記コマンドの後は以下コマンドも忘れず実行すること
$sudo sh -c "echo c > /sys/class/drm/card0/device/pp_od_clk_voltage"
PCスペック
CPU | AMD Ryzen 7 1700 |
メモリ | DDR4-2400 32GB(8GB x 4) |
マザーボード | Fatal1ty AB350 Gaming K4 |
グラフィックボード | SAPPHIRE RADEON VII |
SSD(NVMe) | PX-256M9PeG |
無線LANアダプター | Archer TX3000E |
OS | Ubuntu 22.04.2 LTS |
グラフィックドライバー | amdgpu-install_6.0.60000-1_all.deb |
グラフィックボード詳細
GPU | Radeon VII |
コアクロック | 1750MHz |
メモリクロック | 1000MHz |
メモリサイズ/バス幅 | 16GB/4096bit |
消費電力 | 300W |
測定
電力バカ食いのRadeon VIIを低電圧化すると同様の設定を使用する。
設定
使用するモデル
AbyssOrangeMix2_nsfw
ポジティブプロンプト
a photograph of an astronaut riding a horse
ネガティブプロンプト
nsfw, (worst quality, low quality, extra digits, male:1.4), bad_prompt
他設定
Sampling method | DPM++ 2M Karras |
Sampling steps | 20 |
Width/Height | 640 / 480 |
Batch count | 2 |
Batch size | 5 |
CFG Scale | 7 |
Seed | 2382819807 |
パフォーマンス比較
GPUクロック | 描画時間(Time taken) | 消費電力(ワットチェッカー読み) |
---|---|---|
1801MHz(デフォルト) | 50.9s | 420W |
1200MHz | 65.8s | 230W |
1000MHz | 76.7s | 190W |
なんか前計測したより早くなってる…。ドライバーの更新のおかげかな?
電力量
GPUクロック | 1回の生成にかかる電力量(W) |
---|---|
1801Mhz(デフォルト) | 93,611 |
1200MHz | 15,134 |
1000MHz | 14,573 |
まとめ
とりあえず1000MHz固定で使うことにした。
$sudo sh -c "s 1 1000 > /sys/class/drm/card0/device/pp_od_clk_voltage"
$sudo sh -c "echo c > /sys/class/drm/card0/device/pp_od_clk_voltage"