Linux の AMD GPU ドライバの admgpu, amdgpu-pro の違いについて.
- amdgpu: OSS で構成
- amdgpu-pro: プロプライエタリな OpenGL, OpenCL ドライバが付属
OpenGL や Vulkan アプリだけ動かしたいのであれば OSS only の admgpu(Mesa RADV?)でよいと思われる. OSS(Mesa RADV or AMDVLK) のほうが性能いいらしいようですし.
RADV についてはこちら.
RADV で最新 Vulkan を使うため, Mesa をコンパイルするメモ
https://qiita.com/syoyo/items/9b98a3124ce47065453f
OpenCL が使いたい場合は proprietary な pro 版を使うしかない.
--headless で OpenGL サポートなしで OpenCL をインストールできる(マイニングや機械学習など向け)
legacy, PAL(rocr)?
OpenCL には legacy,PAL がある.
legacy = orca とも呼ばれている.
PAL = VEGA56/64 以降っぽいようである. rocr と名前が変わった(ころころ名称変えてつらい
)
とりあえず legacy, PAL 両方インストールできるので, 両方インストールしておくのが無難かと思われる.
WINE と相性悪い
apt で wine を入れると, Ubuntu 標準の opencl 関連が付属でインストールされてしまいます.
clinfo などで不都合が出るかもです.
headless 運用では, Ubuntu 20.04 では render group に追加必要
Ubuntu 20.04 Desktop ですと, headless で OpenCL インストールしていたとしても,
一旦 graphical login しないとだめでした.
最近? 権限構成が変わって, headless で運用(サーバで動かしたい)したい場合は render group に追加が必要になります.
(これは ROCm 版 OpenCL でも同等)
ROCm?
ROCm だと OpenCL 部分ふくめ all-open で OpenCL が動くようだが...(OpenCL 実装は clang で OpenCL -> ROCm 用バイナリ変換?),
正式対応している GPU は限られており, 現状(2020/08. 3.5.0, 3.5.1)はカオスな状態なので少なくとも OpenCL を動かすにはおすすめしない.
OSS な OpenCL?
ROCm 非依存でやりたい.
amdgpu でうごくのは, Mesa あたりが頑張っているようではあるが... まだ一般的に利用できるようではなさそう.
r600, radensi など古めのアーキテクチャであれば image 使わなければ OpenCL 1.2 相当は動くやも.