漢なら AMD GPU + amdgpu-pro で OpenCL 計算環境作りたいですよね!
しかし AMD GPU だと, デフォルトの X11 Desktop 環境では一度 graphical window manager でログインしないと OpenCL が動かないので ssh コンソールログインで OpenCL 計算できなくてつらい...
(NVIDIA GPU だと動くのですがね)
そこで X11 headless 環境を作って画面を出さなくても OpenCL がつかえるようにしましょう!
OpenGL も利用するなら x11vnc + VirtualGL あたりを使うのが良さそうですが, 今回は OpenGL は必要ないので, マイニングでの設定環境を参考にします.
How To Build a 6 GPU Zcash Headless Mining Rig on Ubuntu 16.04 Using Claymore
前提条件
- Ubuntu Desktop 版 16.04.3 最新がインストールされているものとします(23 Oct, 2017 では kernel 4.10.0-37).
- amdgpu-pro ドライバ 17.40 beta(blockchain/compute 用, http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-Pro-Beta-Mining-Driver-for-Linux-Release-Notes.aspx 23 Oct, 2017 時点) を
--compute
でインストールしているものとします. - headless 運用時は AMD GPU にはディスプレイケーブルは繋いでいないものとします(もしくは, CPU 内蔵 GPU でマザーボードの HDMI にディスプレイケーブル挿しているとか)
grub
KMS あたりがからんでいるようで grub をグラフィカルにすると問題がありそうなので, テキストモードで grub が起動するようにします.
$ sudo vi /etc/defaults/grub
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_TERMINAL=console
$ sudo update-grub
group
自身のユーザアカウントを video
に所属させます.
$ sudo usermod -a -G video $LOGNAME
これでリブートすれば ssh コンソールログインからでも OpenCL を利用できます(clinfo
でデバイスを確認)
X11 dummy は不要のようです.
(もしかしたら grub の変更は不要で, video
グループにユーザアカウントを追加だけでいいのかもしれません)
Happy OpenCL programming!
TODO
- amdgpu-pro ドライバだと GPU の powertune ができませんが, 17.40 blockchain driver でもそうなのか確認する
- ROCm 環境も試す.