Как получить Radeon RX 550, работающий с OpenCL в Ubuntu 16.04?
Когда я следую официальному руководству по установке драйверов AMDGPU-Pro (я пробовал и 17.30, и самые последние 17.40 выпуски), кажется, все работает, но clinfo
все еще возвращается
Number of platforms 0
У кого-нибудь есть какие-либо идеи?
2 ответа
Я тоже потратил целый день на это - я не смог найти никаких рабочих инструкций, поэтому вот что я придумал для AMD Radeon RX 580 в системе Ubuntu 16.04 без графического рабочего стола, установленного через SSH:
Предположим, новая система установки Ubuntu
Загрузите AMD APP SDK отсюда - скачайте, распакуйте и используйте
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 непригоден, потому что у меня есть слоты PCI-e 1x с надстроечными платами и базовый процессор Pentium вместо i7. Вы проверяете, что ROCm был отключен следующим образом:
$ dmesg |grep atomic
[4.885958] kfd kfd: skipped device 1002:67df, PCI rejects atomics
Так что я думаю, именно поэтому мне пришлось заняться наследием, чтобы заставить 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-изображений 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