Когда я следую официальному руководству по установке драйверов AMDGPU-Pro (я пробовал и 17.30, и самые последние 17.40 выпуски), все, кажется, работает, но clinfo
все еще возвращает
Number of platforms 0
У кого-нибудь есть идеи?
Я тоже потратил целый день на это - я не смог найти никаких рабочих инструкций, поэтому вот что я придумал для AMD Radeon RX 580 в системе Ubuntu 16.04 без графического рабочего стола, установленного через SSH:
Предположим, что установлена свежая система установки Ubuntu
Загрузите SDK AMD APP из здесь - Загрузите, распакуйте и затем используйте sudo
для запустите скрипт установки.
Загрузите самый последний драйвер linux (17.50 на момент написания этого ответа) из здесь , извлеките файл .xz
, используя tar Jxvf <filename>
и cd
, в каталог, созданный после распаковки. файл .xz
.
Теперь запустите установщик с sudo
:
sudo ./amdgpu-pro-install --opencl=legacy -y
Перезагрузите
Запустите clinfo
снова и вы должен видеть, что теперь у вас есть поддержка OpenCL 1.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
На моей собственной установке ROCm непригодный для использования, потому что у меня вместо слота i7 есть слоты PCI-e 1x с переходниками и базовый процессор Pentium. Вы проверяете, что ROCm был отключен следующим образом:
$ dmesg |grep atomic
[4.885958] kfd kfd: skipped device 1002:67df, PCI rejects atomics
Итак, я думаю, именно поэтому мне пришлось сделать legacy , чтобы заставить OpenCL работать вообще.
Я не уверен, в чем плюсы и минусы OpenCL 1.2 по сравнению с OpenCL 2.0 по сравнению с ROCm, или даже если драйвер ROCm представлен как OpenCL 2.0 внешне - было бы замечательно, если бы кто-то с большим пониманием мог прокомментировать.
Сбой OpenCL из-за проблем с сборкой модуля DKMS из-за моего ядра.
Обновление моего ядра до следующей версии позволило Clinfo сообщить о поддержке OpenCL в Ubuntu 16.04.4 LTS.
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