LoginSignup
9
6

More than 5 years have passed since last update.

ROCm + amdgpu-pro 環境で VEGA GPU で OpenCL を使う(2017/09/25 時点不安定)

Last updated at Posted at 2017-09-25

ROCm https://github.com/RadeonOpenCompute/ROCm と amdgpu-pro ドライバを両方インストールしている場合,
VEGA GPU で OpenCL を使うには, ROCm の方を見るようにしないとダメでした.

CPU: Ryzen5 1600
Mobo: B350
OS: Ubuntu 16.04.3
Kernel: 4.11(ROCm kernel)
GPU: VEGA 56 (PCI-Gen3 スロット. Gen2 だとそもそも ROCm が動かない)
ROCm: 1.6.148
amdgpu-pro: 17.30

ROCm とは?

グラフィックスだけでなく, Compute に特化したソフトウェアスタックのようです.
CUDA + ヘテロジニアス計算環境のスタックみたいな感じでしょうか.
レイトレーシング, 機械学習, マイニングするなら ROCm のほうがフィットしそうですね!

仮定

ROCm 環境で OpenCL runtime パッケージを入れておく.
amdgpu-pro パッケージも別途入れておく.
ubuntu の opencl-icd パッケージあたりはインストールしない(インストールされていれば消しておく)

背景

ROCm の OpenCL は developer preview のようなので, amdgpu-pro ドライバも入れて, amdgpu-pro の OpenCL を使おうとしましたが, RX 470 などの Polaris では clinfo でデバイス認識しますが, VEGA では認識されず(/opt/amdgpu-pro/bin/clinfo はクラッシュし, apt で入る clinfo では VEGA GPU が認識されない)困っていました.

解決

LD_LIBRARY_PATH/opt/rocm/opencl/lib/x86_64libOpenCL.so を見るように設定すると OpenCL プログラムが動きました.

VEGA では, ROCm + amdgpu-pro 環境だと, ROCm のほうを使わないとダメでした.

問題点

ただし, ROCm の OpenCL だと性能があまりでなかったり, amdgpu-pro OpenCL でも Blender の OpenCL kernel がコンパイルできなかったりと, いろいろ issue が上がっています.

https://github.com/RadeonOpenCompute/ROCm/issues
https://community.amd.com/thread/220517

xmr-stak-amd も VEGA ではコンパイルに失敗します.

ROCm. amdgpu-pro 共に時期アップデートではコンパイラやドライバなどいろいろ改善されるようですが, VEGA + OpenCL はしばらくは熟成待ちですね.

(2017 年 12 月 26 日追記: ROCm 1.7 でそれなりに改善されて, xmr-stak がコンパイルできるようになりました)

TODO

amdgpu-pro だけの環境で VEGA で amdgpu-pro の OpenCL が動くか確認する.

9
6
0

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
9
6