This page describes installation of an OpenCL-only part of AMD ROCm software.
Info about AMD hardware: https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units
Info about AMD APUs: https://en.wikipedia.org/wiki/List_of_AMD_accelerated_processing_units
Info about AMD ROCm:
https://github.com/RadeonOpenCompute/ROCm
https://rocm-documentation.readthedocs.io/en/latest/
Supported hardware for AMD ROCm: GCN2 - GCN5.
RDNA (Navi) have no OpenCL support yet: https://www.amd.com/ru/support/graphics/amd-radeon-5700-series/amd-radeon-rx-5700-series/amd-radeon-rx-5700-xt#amd_support_product_spec
How to install for SLE 15 SP 1 ≈ openSUSE Leap 15.1 with kernel 4.12: https://rocm-documentation.readthedocs.io/en/latest/Installation_Guide/Installation-Guide.html#sles-15-service-pack-1
Undescribed cases in this manual:
- TW
- Leap + newer kernels
- Using it with APU
AMDGPU-PRO drivers available for SLE = Leap 15.1 + discrete videocards, but not for TW, and not for APU.
When installing AMD ROCm + APU you may encouner this bug: https://forums.opensuse.org/showthread.php/539742-With-AMD-Picasso-APU-system-hangs-during-boot-with-kernel-5-6-2-(5-6-0-works)
For the best results use AMDGPU-PRO drivers, not Mesa 3D OpenCL + kernel ones.
With Mesa 3D OpenCL + LibreOffice you may encounter this bug: https://forums.opensuse.org/showthread.php/539315-LibreOfiice-hangs-AMD-CPU-Raven2-system-when-trying-to-use-OpenCL-from-Mesa-3D
AMD ROCm “Not currently supported on kernels newer than 5.4”.
Supposedly AMD ROCm will work with Leap 15.2 + its 5.3 kernels.
AMD supports rather new products.
That is, AMD drops Terascale, is dropping GCN1.
But:
AMD Radeon R7 240 which is GCN1 have SLE support: https://www.amd.com/ru/support/graphics/amd-radeon-r7-series/amd-radeon-r7-200-series/amd-radeon-r7-240
AMD Radeon HD 7790 which is GCN2 have no SLE support: https://www.amd.com/ru/support/graphics/amd-radeon-hd/amd-radeon-hd-7000-series/amd-radeon-hd-7790
You may use Mesa 3D + kernel drivers for OpenGL, Vulkan, VA-API, graphics output, and along with this use AMD ROCm for OpenCL.
With GCN1 and older hardware: try to use Mesa 3D + kernel drivers + OpenCL parts from AMDGPU-PRO and FireGL drivers.
AMD limits use of ROCm with APU to OpenCL-only drivers, for a full ROCm package you will need patches from a third-party suppliers.
Improving this I get:
Steps to follow:
-
Uninstall Mesa 3D OpenCL packages.
Often they don’t works, sometimes they hangs OS. -
Install DKMS from Main or Bumblebee repos.
-
Add ROCm repo with no GPG check:
sudo zypper addrepo --no-gpgcheck https://repo.radeon.com/rocm/zyp/zypper/ rocm
- Install packages:
rocm-opencl
rocm-opencl-devel
rocminfo
Will be installed as a dependencies:
hsa-rocr-dev
hsakmt-roct
comgr
Additionally select
rocm-smi-lib64
- 7 packages at all.
AMD ROCm 3.3+ support multiversioning.
If you choose to install packages without numbers in the names, you will get only one version installation.
If you choose to install packages with numbers in the names, you will get numbered installation => you will be able to use more than one version at a time.
Provide needed paths in the latter case.
-
Add user to the “video” group.
-
Add file
/etc/udev/rules.d/70-kfd.rules
Write this string in it:
SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"
-
Reboot.
-
Perform checks:
/opt/rocm-3.3.0/bin/rocminfo
/opt/rocm-3.3.0/opencl/bin/x86_64/clinfo
clinfo
“-3.3.0” means we are using ROCm 3.3 version.
Install clinfo if you need it.
That’s all.