Trying to get OpenCL with AMD APU Ryzen 3 3200G.
I had many troubles with AMD ROCm.
Uninstalled it and installed headless amdgpu-pro OpenCL drivers:
Download amdgpu-pro from AMD website. I chose amdgpu-pro-20.40-1147287-sle-15.2.tar.xz for Vega64.
Run
amdgpu-pro-install --opencl=legacy,pal --headless
You may add:
“-y” for non-interactive install
“–no-dkms” for non-DKMS install. IDK whether it is needed or not.
Reboot after install.
Amdgpu-pro has OpenCL image support.
OpenCL works 4-8 times faster than with ROCm.
Tested with clpeak and luxmark-linux64-v3.1.
luxmark on CPU works faster than with ROCm - ILL additionally using GPU.
FAHBench 2.3.2 works at last.
SVP 4.5 works nicely with Pro, but with ROCm drops frames and hangs VLC.
Blender benchmark-launcher 2.0.5: requires ‘GLIBC_2.27’.
Run benchmark-launcher-cli or as described here.
On CPU - 100% load and warms up, on GPU (OpenCL) - zero CPU load.
But scene bmw27 takes 8,5 min on CPU compared to 14,3 min on GPU.
I have POCL installed, but still cannot use CPU for OpenCL.
Minimal install with Leap 15.2 + amdgpu-pro-20.40-1147287-sle-15.2.tar.xz with default Mesa 3D, X11, no DKMS:
Choose only
amdgpu-core
amdgpu-pro-core
amdgpu-pro-versionlist
amdgpu-versionlist
clinfo-amdgpu-pro (gives info only)
ocl-icd-amdgpu-pro
ocl-icd-amdgpu-pro-devel (possibly not needed)
opencl-amdgpu-pro-comgr
opencl-amdgpu-pro-icd
To get packages unzip files from AMD archive with driver to a needed folder. Then use folder as repository.
More info at https://en.opensuse.org/SDB:AMDGPU-PRO .
Needs checks after kernel update.
Drivers versions:
:~> glxinfo | grep -i OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RAVEN (DRM 3.33.0, 5.3.18-lp152.63-default, LLVM 9.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.3.4
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.4
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
Hi
No downgrading of driver here (but I’m on Tumbleweed, plus use multiple GPU’s), I’m using the kernel driver. You need to slow down!!!
NO DKMS in use… hence the --dkms, use default openSUSE Mesa etc. You are on a Raven card, it for sure needs later packages, running on Leap is probably going to be an issue…
switcherooctl launch -g 1 glxinfo | grep -i OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.12-1-default, LLVM 11.0.1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.3.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.3.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
The only files I have installed are;
zypper se -si -r 5
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
---+----------------------------+---------+-------------------+--------+--------------------------------
i | amdgpu-core | package | 20.40-1147287 | noarch | AMD amdgpu Pro local repository
i | amdgpu-pro-core | package | 20.40-1147287 | noarch | AMD amdgpu Pro local repository
i+ | amdgpu-versionlist | package | 20.40-1147287 | noarch | AMD amdgpu Pro local repository
i+ | clinfo-amdgpu-pro | package | 20.40-1147287 | x86_64 | AMD amdgpu Pro local repository
i | libdrm-amdgpu | package | 1:2.4.100-1147287 | x86_64 | AMD amdgpu Pro local repository
i | libdrm-amdgpu-common | package | 1.0.0-1147287 | noarch | AMD amdgpu Pro local repository
i | ocl-icd-amdgpu-pro | package | 20.40-1147287 | x86_64 | AMD amdgpu Pro local repository
i | opencl-amdgpu-pro-comgr | package | 20.40-1147287 | x86_64 | AMD amdgpu Pro local repository
i+ | opencl-amdgpu-pro-icd | package | 20.40-1147287 | x86_64 | AMD amdgpu Pro local repository
i+ | opencl-orca-amdgpu-pro-icd | package | 20.40-1147287 | x86_64 | AMD amdgpu Pro local repository
Hi
Move the ld config files out and run ldconfig and it will disappear… Like I indicated, you will be hard pressed to come up with a workable solution on Leap with a Raven card.
ILL installing libdrm-amdgpu package for Raven APU is causing:
Firefox hangs sometimes during work.
Ark quits if trying to compress files too big in summed volume.
Possibly this is due to wrong video memory volume report for APUs.
Without libdrm-amdgpu GPU is not used by Ark for compression-decompression.
I can select “Unknown AMD GPU” in Blender for OpenCL usage, and it renders pictures, with less heat generation, but slower than with CPU.
So there is no HSA support with Linux + AMD APU (Intel may work).
Package libdrm_amdgpu1 came from Mesa 3D, package libdrm-amdgpu came from AMD.
Instead of adding libdrm-amdgpu I decided to replace libdrm_amdgpu1 with libdrm-amdgpu.
In YaST I marked libdrm_amdgpu1 for deletion, YaST added libdrm-amdgpu + libdrm-amdgpu-common.
After applying changes and reboot system looks stable (at least now).
Maybe I shall test it with libdrm-tools.
Have no issuises with FF and Ark right now (see previous message). ILL Ark uses OpenCL - runs ~ the same compared to J7Z (p7zip), but uses only 1 kernel.
Ark can compress big set of files - more in volume than dedicated video RAM.
I already tested OpenCL with Luxmark, Blender, FAHBench.
Please provide suggestions how I can test HSA - i.e. speeding up ordinary applications with GPGPU/OpenCL.
Candidates: archivers, picture browsers (working with jpeg).
I am using OpenCL part from amdgpu-pro-20.40 driver.
It is the last with PAL code for OpenCL.
Next drivers are using ROCr from ROCm and may run much slower than PAL code (it needs tests).
OpenCL code from amdgpu-pro needs amdgpu driver.
Linux kernel is using it for GCN3 and newer. For GCN1 and GCN2 use kernel parameters to get amdgpu instead of radeon drivers.
For Terascale 2 and Terascale 3 try to use Mesa 3D OpenCL drivers. Right now they lack image support, so OpenCL in Blender or SVP don’t work.
Older cards are not supported by Mesa 3D OpenCL drivers.