Итак, есть железо от AMD и хочется использовать OpenCL.
Что поддерживает железо - см. здесь: https://en.wikipedia.org/wiki/List_o...ocessing_units
И здесь про APU: https://en.wikipedia.org/wiki/List_o...ocessing_units
Для поддержки всех возможностей лучше ставить драйвера от AMD.
Они выпускаются для SLE, что почти равно Leap.
Для TW они могут подойти, но у TW ядро быстро становится слишком новым => неподдерживаемым.
Наличие поддержки AMD зависит от времени, прошедшего с выпуска товара.
При этом ещё есть поколения архитектур: Terascale 1-2-3, GCN 1-5, RDNA...
Поддержку Terascale AMD уже бросила, GCN1 - бросает.
Для AMD Radeon R7 240 который GCN1 поддержка есть: https://www.amd.com/ru/support/graph...-radeon-r7-240
А для AMD Radeon HD 7790 который GCN2 поддержки нет: https://www.amd.com/ru/support/graph...radeon-hd-7790
У RDNA OpenCL вроде как ещё не поддерживается: https://www.amd.com/ru/support/graph...t_product_spec
Если нет драйверов от AMD, то можно поставить Mesa 3D.
Они работают по большей части хорошо, но с OpenCL у них плохо - либо не работает, либо ОС виснет: https://forums.opensuse.org/showthre...L-from-Mesa-3D
Можно использовать Mesa 3D для графики OpenGL, Vulkan, VA-API, вывода изображения, и при этом для OpenCL установить драйвера от AMD.
Отмечу, что если у вас железо GCN1 и старее, то вроде как можно использовать Mesa 3D + для OpenCL взять нужное ПО из rpm драйверов AMDGPU-PRO / ATI FireGL.
Для GCN2 и новее (но пока что без RDNA) AMD предлагает ROCm:
https://github.com/RadeonOpenCompute/ROCm
https://rocm-documentation.readthedocs.io/en/latest/
Как ставить написано здесь: https://rocm-documentation.readthedo...service-pack-1
Но не всё так просто.
Инструкция от AMD по установке AMD ROCm написана для дискретной видеокарты + SLES 15 Service Pack 1, что соответствует Leap 15.1 со стандартным ядром.
Если ядро новое, то - AMD ROCm "Not currently supported on kernels newer than 5.4".
Также AMD ROCm при обычной установке не предназначен для APU (можно сделать полную установку со сторонними патчами).
Доработав это: https://www.clarenceho.net/2019/05/r...umbleweed.html
Получил:
1. Удаляем пакеты OpenCL от Mesa 3D, если есть. Он обычно не работает и иногда сбоит.
Ryzen 3200G c драйверами Mesa 3D 20.0 - LibreOffice 6.3/6.4 подвешивает ОС.
2. Ставим DKMS из Main или Bumblebee.
Из Bumblebee - поновее.
3. Добавляем репозиторий ROCm, без проверок GPG - чтоб установщик не спрашивал каждый раз о подписях - их нет.
https://repo.radeon.com/rocm/zyp/zypper/
4. Ставим пакеты:
rocm-opencl
rocm-opencl-devel
rocminfo
Добавятся
hsa-rocr-dev
hsakmt-roct
comgr
Отдельно выбираем для rocminfo:
rocm-smi-lib64
Итого: 7 шт.
Если брать пакеты без номеров, то будет одна версия ROCm, которая будет обновляться.
Если брать пакеты с номерами, то поставится номерная версия, и можно будет добавить другие без удаления установленных. Пути нужно будет руками добавлять.
5. Добавляем пользователя в группу "video".
6. Добавляем файл
В нём пишем строку
7. Перезагружаемся.
8. Проверка - вводим в командной строке:
Номера "-3.3.0" - для версии 3.3.0.
Вроде всё.
Итог: с OpenCL работает LibreOffice и LuxMark.
FAHBench-2.3.2-Linux: на CPU - работает, на OpenCL - вылетает.
Пишет:
Что поддерживает железо - см. здесь: https://en.wikipedia.org/wiki/List_o...ocessing_units
И здесь про APU: https://en.wikipedia.org/wiki/List_o...ocessing_units
Для поддержки всех возможностей лучше ставить драйвера от AMD.
Они выпускаются для SLE, что почти равно Leap.
Для TW они могут подойти, но у TW ядро быстро становится слишком новым => неподдерживаемым.
Наличие поддержки AMD зависит от времени, прошедшего с выпуска товара.
При этом ещё есть поколения архитектур: Terascale 1-2-3, GCN 1-5, RDNA...
Поддержку Terascale AMD уже бросила, GCN1 - бросает.
Для AMD Radeon R7 240 который GCN1 поддержка есть: https://www.amd.com/ru/support/graph...-radeon-r7-240
А для AMD Radeon HD 7790 который GCN2 поддержки нет: https://www.amd.com/ru/support/graph...radeon-hd-7790
У RDNA OpenCL вроде как ещё не поддерживается: https://www.amd.com/ru/support/graph...t_product_spec
Если нет драйверов от AMD, то можно поставить Mesa 3D.
Они работают по большей части хорошо, но с OpenCL у них плохо - либо не работает, либо ОС виснет: https://forums.opensuse.org/showthre...L-from-Mesa-3D
Можно использовать Mesa 3D для графики OpenGL, Vulkan, VA-API, вывода изображения, и при этом для OpenCL установить драйвера от AMD.
Отмечу, что если у вас железо GCN1 и старее, то вроде как можно использовать Mesa 3D + для OpenCL взять нужное ПО из rpm драйверов AMDGPU-PRO / ATI FireGL.
Для GCN2 и новее (но пока что без RDNA) AMD предлагает ROCm:
https://github.com/RadeonOpenCompute/ROCm
https://rocm-documentation.readthedocs.io/en/latest/
Как ставить написано здесь: https://rocm-documentation.readthedo...service-pack-1
Но не всё так просто.
Инструкция от AMD по установке AMD ROCm написана для дискретной видеокарты + SLES 15 Service Pack 1, что соответствует Leap 15.1 со стандартным ядром.
Если ядро новое, то - AMD ROCm "Not currently supported on kernels newer than 5.4".
Также AMD ROCm при обычной установке не предназначен для APU (можно сделать полную установку со сторонними патчами).
Доработав это: https://www.clarenceho.net/2019/05/r...umbleweed.html
Получил:
1. Удаляем пакеты OpenCL от Mesa 3D, если есть. Он обычно не работает и иногда сбоит.
Ryzen 3200G c драйверами Mesa 3D 20.0 - LibreOffice 6.3/6.4 подвешивает ОС.
2. Ставим DKMS из Main или Bumblebee.
Из Bumblebee - поновее.
3. Добавляем репозиторий ROCm, без проверок GPG - чтоб установщик не спрашивал каждый раз о подписях - их нет.
https://repo.radeon.com/rocm/zyp/zypper/
4. Ставим пакеты:
rocm-opencl
rocm-opencl-devel
rocminfo
Добавятся
hsa-rocr-dev
hsakmt-roct
comgr
Отдельно выбираем для rocminfo:
rocm-smi-lib64
Итого: 7 шт.
Если брать пакеты без номеров, то будет одна версия ROCm, которая будет обновляться.
Если брать пакеты с номерами, то поставится номерная версия, и можно будет добавить другие без удаления установленных. Пути нужно будет руками добавлять.
5. Добавляем пользователя в группу "video".
6. Добавляем файл
Code:
/etc/udev/rules.d/70-kfd.rules
Code:
SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"
7. Перезагружаемся.
8. Проверка - вводим в командной строке:
Code:
/opt/rocm-3.3.0/bin/rocminfo
/opt/rocm-3.3.0/opencl/bin/x86_64/clinfo
clinfo
Вроде всё.
Итог: с OpenCL работает LibreOffice и LuxMark.
FAHBench-2.3.2-Linux: на CPU - работает, на OpenCL - вылетает.
Пишет:
Code:
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib64/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib64/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast