LoginSignup
7
3

More than 3 years have passed since last update.

LinuxでRadeonの周波数/電圧を変更して使う

Last updated at Posted at 2019-08-01

なぜに記事にしたか

 英語だと記事があったけど、日本語の情報が無かったので
 自分へのメモ

環境

 OS: Manjaro Linux (kernel 4.19)
 GPU: Radeon RX480

やりかた

 ※複数カードを刺している人等は適宜パスを変更してください

カーネルパラメータ変更

 これをしないと電圧などを弄れない

$ sudo vim /etc/default/grub

 でGRUB_CMDLINE_LINUX_DEFAULTにamdgpu.ppfeaturemask=0xffffffffを追加
 具体的には

GRUB_CMDLINE_LINUX_DEFAULT="amdgpu.ppfeaturemask=0xffffffff quiet"

 みたいにして、

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

 で、GRUB設定を反映し再起動

周波数/電圧制御をマニュアルモードにする

$ sudo sh -c "echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level"

GPU周波数/電圧を読む

$ cat /sys/class/drm/card0/device/pp_od_clk_voltage
OD_SCLK:
0:        300MHz        800mV
1:        608MHz        818mV
2:        910MHz        824mV
3:       1077MHz        856mV
4:       1135MHz        870mV
5:       1180MHz        880mV
6:       1200MHz        900mV
7:       1250MHz        930mV
OD_MCLK:
0:        300MHz        800mV
1:       2000MHz        930mV
OD_RANGE:
SCLK:     300MHz       2000MHz
MCLK:     300MHz       2250MHz
VDDC:     800mV        1175mV

 みたいなのが出てくる。

  • OD_SCLK部分がレベル/GPU周波数/GPU電圧
  • OD_MCLK部分がレベル/メモリ周波数/メモリ電圧
  • その下は変更できる範囲

周波数、電圧を変更してみる

 変更は
 "変更対象 レベル 周波数 電圧"
 をpp_od_clk_voltageにリダイレクトする。

 GPUの周波数/電圧を変えるならsを

$ sudo sh -c "echo s 7 1250 930 > /sys/class/drm/card0/device/pp_od_clk_voltage"

 メモリの周波数/電圧を変えるならmを

$ sudo sh -c "echo m 1 2000 930 > /sys/class/drm/card0/device/pp_od_clk_voltage"

変更した周波数/電圧をコミットする

$ sudo sh -c "echo c > /sys/class/drm/card0/device/pp_od_clk_voltage"

なんなら確認する

$ watch -n 0.5 sensors

んで、何をするか

 低電圧化して消費電力を減らし、ディープラーニングを走らせました。

参考文献

カーネルパラメータについて
 https://wiki.archlinux.jp/index.php/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF#GRUB
GPUオーバークロック
 https://wiki.archlinux.org/index.php/AMDGPU#Overclocking
Linuxカーネルガイド
 https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#power-dpm-force-performance-level

まとめ

 ファイルに文字列リダイレクトするだけで色々できるUnixは素晴らしい

7
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3