AMDGPU-Proドライバーをインストールするための公式ガイド(17.30リリースと最新の17.40リリースの両方を試しました)に従うと、すべてが機能しているように見えますが、clinfo
は引き続き返されます
Number of platforms 0
誰にもアイデアはありますか?
私もこれに一日を費やしました-作業手順が見つかりませんでしたので、SSH経由でインストールされたグラフィカルデスクトップなしのUbuntu 16.04システム上のAMD Radeon RX 580について思い付きました:
Ubuntuの新しいインストールシステムを想定
here からAMD APP SDKを取得します。ダウンロード、解凍し、Sudo
を使用してインストールスクリプトを実行します。
here から最新のLinuxドライバー(この回答を書いている時点で17.50)をダウンロードし、.xz
およびcd
を使用してtar Jxvf <filename>
ファイルを抽出し、その後に作成されたディレクトリに.xz
ファイルを抽出します。
次に、Sudo
を指定してインストーラーを実行します。
Sudo ./amdgpu-pro-install --opencl=legacy -y
リブート
clinfo
を再度実行すると、OpenCL1.2がサポートされていることがわかります。
$ clinfo|grep OpenCL
Platform Version: OpenCL 2.1 AMD-APP (2527.3)
Execute OpenCL kernels: Yes
Device OpenCL C version: OpenCL C 1.2
Version: OpenCL 1.2 AMD-APP (2527.3)
その理由は、--legacy
を指定すると、通常インストールされないopencl-amdgpu-pro-icd
を取り込むためです。
これは、最新のドライバーがROCmを使用したいからだと思います。 https://rocm.github.io/ROCmInstall.html
私自身のリグでは、ライザーとi7の代わりに基本的なPentium CPUを備えたPCI-e 1xスロットがあるため、ROCmは使用できません。 ROCmが次のように無効になっていることを確認します。
$ dmesg |grep atomic
[4.885958] kfd kfd: skipped device 1002:67df, PCI rejects atomics
だから、これがOpenCLを動作させるためにlegacyをしなければならなかった理由だと思います。
OpenCL 1.2対OpenCL 2.0対ROCmの長所/短所がわからない、またはROCmドライバーがOpenCL 2.0として外部に存在する場合でも、より洞察力のある人がコメントできるとすれば素晴らしいでしょう。
カーネルが原因でDKMSモジュールの構築に問題があったため、OpenCLは失敗しました。
カーネルを次のバージョンにアップグレードすると、clinfoがUbuntu 16.04.4 LTSでのOpenCLサポートを報告しました。
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.11/
linux-headers-4.15.11-041511_4.15.11-041511.201803190530_all.deb
linux-headers-4.15.11-041511-generic_4.15.11-041511.201803190530_AMD64.deb
linux-image-4.15.11-041511-generic_4.15.11-041511.201803190530_AMD64.deb
clinfo|grep OpenCL
Platform Version OpenCL 2.0 AMD-APP (2482.3)
Device Version OpenCL 1.2 AMD-APP (2482.3)
Device OpenCL C Version OpenCL C 1.2
Run OpenCL kernels Yes