グラフィックドライバーを更新したところ、以前の方法ではシステムが強制終了するようになったので、別のやり方で低電圧化する。

最新の環境では電力バカ食いの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スペック

CPUAMD Ryzen 7 1700
メモリDDR4-2400 32GB(8GB x 4)
マザーボードFatal1ty AB350 Gaming K4
グラフィックボードSAPPHIRE RADEON VII
SSD(NVMe)PX-256M9PeG
無線LANアダプターArcher TX3000E
OSUbuntu 22.04.2 LTS
グラフィックドライバーamdgpu-install_6.0.60000-1_all.deb

グラフィックボード詳細

GPURadeon 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 methodDPM++ 2M Karras
Sampling steps20
Width/Height640 / 480
Batch count2
Batch size5
CFG Scale7
Seed2382819807

パフォーマンス比較

GPUクロック描画時間(Time taken)消費電力(ワットチェッカー読み)
1801MHz(デフォルト)50.9s420W
1200MHz65.8s230W
1000MHz76.7s190W

なんか前計測したより早くなってる…。ドライバーの更新のおかげかな?

電力量

GPUクロック1回の生成にかかる電力量(W)
1801Mhz(デフォルト)93,611
1200MHz15,134
1000MHz14,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"