NVIDIA GPU で Linux でクロックやファン速度を調整するメモ


背景

powerlimit(nvidia-smi -pl 150)だけではどうもマイニングやら 3D やら性能が出ないので, いろいろ調整したい.

参考情報

Ethereum Mining with NVIDIA on Linux
https://www.simonmott.co.uk/2017/07/ethereum-mining-nvidia-linux/

coolbit

Coolbit 有効で, fan control や clock offset 設定ができるようになります.

X11 ドライバで, coolbit を有効にします.

最近ですと X11 設定は /etc/X11/xorg.conf ではなくて /usr/share/X11/xorg.conf.d/10-nvidia.conf で設定します. もしくは Arch のドキュメントにあるように sudo で nvidia-xconfig で設定できるでしょう

nvidia-xconfig --cool-bits=value

値は 28(=16 + 8 + 4) にします.

16: nvidia-settings のコマンドラインで overvoltage 変更できる
8: nvidia-settings で Overclocking 設定できるようにする
4: GPU fan を手動設定できる

リブートして, nvidia-settings で Thermal settings が出るのを確認します.

クロック一覧

nvidia-smi -i 0 -q -d clock

クロック設定

nvidia-smi -ac 4055,1658

のようにして設定できるようですが, 設定できる GPU には制限があるかもです.

Fan control, clock offset

nvidia-settings で設定できます.

nvidia-smi での設定は X11 が立ち上がっていないとだめ... かも?
(つまり headless 運用ではだめかも)

Headless 運用

nvidia-settings では X11 サーバが立ち上がっていないと使えません(Display が繋がっている)が,
AllowEmptyInitialConfiguration を設定することで Display が繋がっていなくてもつかえます.

Option “AllowEmptyInitialConfiguration”

Linux で P0 state?

Pascal, Turing ですと, Linux では P0 state にすることはできず, P2(or P3 などのモード) になります.
(Tesla や, P106-100 みたいなマイニング用 Pascal だと P0 いけるのかも)