Slowroll and amdgpu-pro and alternatives
Hi, I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver. Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro. Are there any plans to chance that for Slowroll? Peter
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
Hi Peter, Which other drivers have you tested with? There's a chance that the amd-opencl package from AOMP [1] might be an alternative.
Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro.
amd-opencl from AOMP should work fine with Tumbleweed. -Patrik
Are there any plans to chance that for Slowroll?
Peter
[1] https://build.opensuse.org/package/show/science:GPU:ROCm/aomp
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
Hi Peter,
Which other drivers have you tested with? There's a chance that the amd-opencl package from AOMP [1] might be an alternative.
Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro.
amd-opencl from AOMP should work fine with Tumbleweed.
I didn't know that, I'll test ist. Thanks Peter
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
Hi Peter,
Which other drivers have you tested with? There's a chance that the amd-opencl package from AOMP [1] might be an alternative.
Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro.
amd-opencl from AOMP should work fine with Tumbleweed.
I didn't know that, I'll test ist.
Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl. Are there any system settings necessary? Peter
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
Hi Peter,
Which other drivers have you tested with? There's a chance that the amd-opencl package from AOMP [1] might be an alternative.
Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro.
amd-opencl from AOMP should work fine with Tumbleweed.
I didn't know that, I'll test ist.
Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
Are there any system settings necessary?
Peter
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
...>
amd-opencl from AOMP should work fine with Tumbleweed. ...
Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
first the suggested link ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so still opencl not detected by Darktable lux-tw:~ # clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 lux-tw:~ # Peter
Am 29.11.23 um 12:38 schrieb Peter McD:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
Can you detect the card with clinfo?
first the suggested link
ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
Probably not needed, at least not for clinfo:
readelf --dynamic /usr/bin/clinfo | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libOpenCL.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
The symlink should only be needed for development, and then you can find it in ocl-icd-devel. The problem seems rather that the installation isn't being found. Installations are dynamically loaded from those listed in /usr/share/OpenCL/vendors and /etc/OpenCL/vendors. Unfortunately existence of the latter precludes installations from the former directory from being recognized with the loader from ocl-icd, if nothing changed since 2020 (https://bugzilla.opensuse.org/show_bug.cgi?id=1173005). Ideally you can remove /etc/OpenCL/vendors entirely if all vendors are in /usr. If not, symlink those from /usr that you want into /etc. The files in that directory are text files containing the name of a library that should sit in /usr/lib64. Here with Mesa-libOpenCL: $ cat /usr/share/OpenCL/vendors/mesa.icd libMesaOpenCL.so.1 So in this case the implementation is in /usr/lib64/libMesaOpenCL.so.1, which will then be loaded via dlopen. If you have such a text file and the library exists, I'd suggest to run clinfo under strace. You should see it find the file, then load the library, then look up symbols. Check where it stops. Best regards, Aaron
Am 30.11.23 um 01:22 schrieb Aaron Puchert:
Am 29.11.23 um 12:38 schrieb Peter McD:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
Can you detect the card with clinfo?
first the suggested link
ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
Probably not needed, at least not for clinfo:
readelf --dynamic /usr/bin/clinfo | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libOpenCL.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
The symlink should only be needed for development, and then you can find it in ocl-icd-devel.
The problem seems rather that the installation isn't being found. Installations are dynamically loaded from those listed in /usr/share/OpenCL/vendors and /etc/OpenCL/vendors. Unfortunately existence of the latter precludes installations from the former directory from being recognized with the loader from ocl-icd, if nothing changed since 2020 (https://bugzilla.opensuse.org/show_bug.cgi?id=1173005). Ideally you can remove /etc/OpenCL/vendors entirely if all vendors are in /usr. If not, symlink those from /usr that you want into /etc.
The files in that directory are text files containing the name of a library that should sit in /usr/lib64. Here with Mesa-libOpenCL:
$ cat /usr/share/OpenCL/vendors/mesa.icd libMesaOpenCL.so.1
So in this case the implementation is in /usr/lib64/libMesaOpenCL.so.1, which will then be loaded via dlopen.
If you have such a text file and the library exists, I'd suggest to run clinfo under strace. You should see it find the file, then load the library, then look up symbols. Check where it stops.
Thanks, I'll will lock at that later. cu Peter
Am 30.11.23 um 01:22 schrieb Aaron Puchert:
Am 29.11.23 um 12:38 schrieb Peter McD:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
Can you detect the card with clinfo?
first the suggested link
ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
Probably not needed, at least not for clinfo:
readelf --dynamic /usr/bin/clinfo | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libOpenCL.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
The symlink should only be needed for development, and then you can find it in ocl-icd-devel.
The problem seems rather that the installation isn't being found. Installations are dynamically loaded from those listed in /usr/share/OpenCL/vendors and /etc/OpenCL/vendors. Unfortunately existence of the latter precludes installations from the former directory from being recognized with the loader from ocl-icd, if nothing changed since 2020 (https://bugzilla.opensuse.org/show_bug.cgi?id=1173005). Ideally you can remove /etc/OpenCL/vendors entirely if all vendors are in /usr. If not, symlink those from /usr that you want into /etc.
I have now a fresh installation of Tumbleweed, added Patrik's repo and installed amd-opencl. clinfo shows: Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 ls -l /usr/share or ls -l /etc/ Neither in /usr/share/ nor in /etc/ is a direktory OpenCL, and so no directory "vendors" What else do I have to install? cu Peter
Am 04.12.23 um 11:46 schrieb Peter McD via openSUSE Factory:
I have now a fresh installation of Tumbleweed, added Patrik's repo and installed amd-opencl.
clinfo shows: Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
ls -l /usr/share or ls -l /etc/ Neither in /usr/share/ nor in /etc/ is a direktory OpenCL, and so no directory "vendors"
That is strange, with [1]: $ rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE $ cat /usr/share/OpenCL/vendors/amdocl64.icd /usr/lib64/libamdocl64.so This looks about right to me. What do you see here? Aaron [1] <https://download.opensuse.org/repositories/science:/GPU:/ROCm/openSUSE_Factory/x86_64/amd-opencl-18.0.0-1.40.x86_64.rpm>
Am 05.12.23 um 01:29 schrieb Aaron Puchert:
Am 04.12.23 um 11:46 schrieb Peter McD via openSUSE Factory:
I have now a fresh installation of Tumbleweed, added Patrik's repo and installed amd-opencl.
clinfo shows: Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
ls -l /usr/share or ls -l /etc/ Neither in /usr/share/ nor in /etc/ is a direktory OpenCL, and so no directory "vendors"
That is strange, with [1]:
$ rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE $ cat /usr/share/OpenCL/vendors/amdocl64.icd /usr/lib64/libamdocl64.so
Ah, this is version 18.0... of openCL, Patrik's repo offers version 17.0.2 now(!) rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE I also set a symlink from/to /etc/OpenCL/vendors -> /usr/share/OpenCL/vendors/ clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 No change with darktable and opencl What else ? cu Peter
On Tue, Dec 05, 2023 at 01:10:21PM +0100, Peter McD via openSUSE Factory wrote:
Am 05.12.23 um 01:29 schrieb Aaron Puchert:
Am 04.12.23 um 11:46 schrieb Peter McD via openSUSE Factory:
I have now a fresh installation of Tumbleweed, added Patrik's repo and installed amd-opencl.
clinfo shows: Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
ls -l /usr/share or ls -l /etc/ Neither in /usr/share/ nor in /etc/ is a direktory OpenCL, and so no directory "vendors"
That is strange, with [1]:
$ rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE $ cat /usr/share/OpenCL/vendors/amdocl64.icd /usr/lib64/libamdocl64.so
Ah, this is version 18.0... of openCL, Patrik's repo offers version 17.0.2
now(!)
rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE
I also set a symlink from/to /etc/OpenCL/vendors -> /usr/share/OpenCL/vendors/
clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
No change with darktable and opencl
Unfortunately I found that darktable requires the image extension which is only available in the amdgpu-pro driver (see [1]). So until AMD opens up the code for the image extension, darktable will not work with my package. [1] https://github.com/void-linux/void-packages/pull/21153#issuecomment-62206190...
What else ?
cu Peter
Am 05.12.23 um 14:03 schrieb Patrik Jakobsson:
On Tue, Dec 05, 2023 at 01:10:21PM +0100, Peter McD via openSUSE Factory wrote:
Am 05.12.23 um 01:29 schrieb Aaron Puchert:
Am 04.12.23 um 11:46 schrieb Peter McD via openSUSE Factory:
I have now a fresh installation of Tumbleweed, added Patrik's repo and installed amd-opencl. ... [1] <https://download.opensuse.org/repositories/science:/GPU:/ROCm/openSUSE_Factory/x86_64/amd-opencl-18.0.0-1.40.x86_64.rpm>
Ah, this is version 18.0... of openCL, Patrik's repo offers version 17.0.2
rpm -ql amd-opencl /usr/lib64/libamdocl64.so /usr/share/OpenCL /usr/share/OpenCL/vendors /usr/share/OpenCL/vendors/amdocl64.icd /usr/share/doc/packages/rocm-ocl-icd /usr/share/doc/packages/rocm-ocl-icd/LICENSE
I also set a symlink from/to /etc/OpenCL/vendors -> /usr/share/OpenCL/vendors/
clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
No change with darktable and opencl
Unfortunately I found that darktable requires the image extension which is only available in the amdgpu-pro driver (see [1]).
So until AMD opens up the code for the image extension, darktable will not work with my package.
[1] https://github.com/void-linux/void-packages/pull/21153#issuecomment-62206190...
Thanks cu Peter
Am 05.12.23 um 15:51 schrieb Peter Sjöstrand via openSUSE Factory:
Ahh i see and does there exist AMD-Pro grapthic dricers that works with OpenSuse??
AMDs amdgpu-pro should work with Leap 15.5 (SLDE/SLES 15) I use amdgpu-pro 23.20 https://www.amd.com/en/support/linux-drivers cu Peter
Am 05.12.23 um 13:10 schrieb Peter McD via openSUSE Factory:
I also set a symlink from/to /etc/OpenCL/vendors -> /usr/share/OpenCL/vendors/
That shouldn't be necessary. If /etc/OpenCL/vendors doesn't exist, the ICD loader will instead look in /usr/share/OpenCL/vendors/.
clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
I see that darktable has been discussed, but if you're still curious about clinfo, I'd suggest that you run it under strace and check if it's looking at the right files and where it goes wrong. It should list the directories mentioned above, then read all files, then open the libraries and look up some symbols. Aaron
Am 06.12.23 um 00:27 schrieb Aaron Puchert:
Am 05.12.23 um 13:10 schrieb Peter McD via openSUSE Factory:
I also set a symlink from/to /etc/OpenCL/vendors -> /usr/share/OpenCL/vendors/
That shouldn't be necessary. If /etc/OpenCL/vendors doesn't exist, the ICD loader will instead look in /usr/share/OpenCL/vendors/.
clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0
I see that darktable has been discussed, but if you're still curious about clinfo, I'd suggest that you run it under strace and check if it's looking at the right files and where it goes wrong. It should list the directories mentioned above, then read all files, then open the libraries and look up some symbols.
I had a look at the output of strace -o [file] clinfo , ok, the directories are there but I know too little of computers to make sense of it. But I have also a working openCL with the amdgpu-pro driver in Leap 15.5. Maybe the difference between TW and Leap with either clinfo output will help Thanks anyway Peter
On Wed, 2023-11-29 at 12:38 +0100, Peter McD wrote:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
...>
amd-opencl from AOMP should work fine with Tumbleweed. ...
Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
first the suggested link
ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
With this added, darktable opens libOpenCL.so on my machine but still doesn't enable opencl support. Perhaps it requires a certain version? I will try to compare this to a working amdgpu-pro installation. Other opencl applications like Indigo Benchmark works fine for me.
still opencl not detected by Darktable
lux-tw:~ # clinfo Number of platforms 0
ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 lux-tw:~ #
You should be seeing your card here. Which AMD card do you have?
Peter
Am 30.11.23 um 09:24 schrieb Patrik Jakobsson:
On Wed, 2023-11-29 at 12:38 +0100, Peter McD wrote:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote: > > I use Leap 15.5 a my main system because of openCL for Darktable > which > simply works faster with the proprietary amdgpu-pro driver. ...> amd-opencl from AOMP should work fine with Tumbleweed. ... Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
first the suggested link ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so With this added, darktable opens libOpenCL.so on my machine but still doesn't enable opencl support. Perhaps it requires a certain version? I will try to compare this to a working amdgpu-pro installation.
Other opencl applications like Indigo Benchmark works fine for me.
still opencl not detected by Darktable lux-tw:~ # clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 lux-tw:~ #
You should be seeing your card here. Which AMD card do you have?
AMD Radeon RX 6600 below is the output of clinfo in Leap 15.5 with amdgpu-pro installed Peter ------------------- lux:~ # clinfo Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 2.1 AMD-APP (3590.0) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback Platform Name: AMD Accelerated Parallel Processing Number of devices: 1 Device Type: CL_DEVICE_TYPE_GPU Vendor ID: 1002h Board name: AMD Radeon RX 6600 Device Topology: PCI[ B#10, D#0, F#0 ] Max compute units: 14 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 256 Preferred vector width char: 4 Preferred vector width short: 2 Preferred vector width int: 1 Preferred vector width long: 1 Preferred vector width float: 1 Preferred vector width double: 1 Native vector width char: 4 Native vector width short: 2 Native vector width int: 1 Native vector width long: 1 Native vector width float: 1 Native vector width double: 1 Max clock frequency: 2750Mhz Address bits: 64 Max memory allocation: 7287183768 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 16384 Max image 2D height: 16384 Max image 3D width: 16384 Max image 3D height: 16384 Max image 3D depth: 8192 Max samplers within kernel: 16 Max size of kernel argument: 1024 Alignment (bits) of base address: 1024 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: Yes Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: Read/Write Cache line size: 64 Cache size: 16384 Global memory size: 8573157376 Constant buffer size: 7287183768 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 65536 Max pipe arguments: 16 Max pipe active reservations: 16 Max pipe packet size: 2992216472 Max global variable size: 7287183768 Max global variable preferred total size: 8573157376 Max read/write image args: 64 Max on device events: 1024 Queue on device max size: 8388608 Max on device queues: 1 Queue on device preferred size: 262144 SVM capabilities: Coarse grain buffer: Yes Fine grain buffer: Yes Fine grain system: No Atomics: No Preferred platform atomic alignment: 0 Preferred global atomic alignment: 0 Preferred local atomic alignment: 0 Kernel Preferred work group size multiple: 32 Error correction support: 0 Unified memory for Host and Device: 0 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: No Queue on Host properties: Out-of-Order: No Profiling : Yes Queue on Device properties: Out-of-Order: Yes Profiling : Yes Platform ID: 0x7f2538277e70 Name: gfx1032 Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 2.0 Driver version: 3590.0 (HSA1.1,LC) Profile: FULL_PROFILE Version: OpenCL 2.0 Extensions: cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program lux:~ #
On Thu, 2023-11-30 at 11:00 +0100, Peter McD wrote:
Am 30.11.23 um 09:24 schrieb Patrik Jakobsson:
On Wed, 2023-11-29 at 12:38 +0100, Peter McD wrote:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson: > On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote: > > > > I use Leap 15.5 a my main system because of openCL for Darktable > > which > > simply works faster with the proprietary amdgpu-pro driver. ...> > amd-opencl from AOMP should work fine with Tumbleweed. ... Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
first the suggested link ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so With this added, darktable opens libOpenCL.so on my machine but still doesn't enable opencl support. Perhaps it requires a certain version? I will try to compare this to a working amdgpu-pro installation.
Other opencl applications like Indigo Benchmark works fine for me.
still opencl not detected by Darktable lux-tw:~ # clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 lux-tw:~ #
You should be seeing your card here. Which AMD card do you have?
AMD Radeon RX 6600
Then your card is supported. I installed OpenCL from AOMP on a freshly installed tumbleweed machine and clinfo worked out of the box. I saw you got some advise from Aaron. Please try that. I did some comparison between clinfo from an AMDGPU-PRO installation and my AOMP build and it seems the AOMP build is missing Image support. I believe darktable requires that as well. I'll try to enable it in the AOMP build.
below is the output of clinfo in Leap 15.5 with amdgpu-pro installed
Peter
------------------- lux:~ # clinfo Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 2.1 AMD-APP (3590.0) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback
Platform Name: AMD Accelerated Parallel Processing Number of devices: 1 Device Type: CL_DEVICE_TYPE_GPU Vendor ID: 1002h Board name: AMD Radeon RX 6600 Device Topology: PCI[ B#10, D#0, F#0 ] Max compute units: 14 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 256 Preferred vector width char: 4 Preferred vector width short: 2 Preferred vector width int: 1 Preferred vector width long: 1 Preferred vector width float: 1 Preferred vector width double: 1 Native vector width char: 4 Native vector width short: 2 Native vector width int: 1 Native vector width long: 1 Native vector width float: 1 Native vector width double: 1 Max clock frequency: 2750Mhz Address bits: 64 Max memory allocation: 7287183768 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 16384 Max image 2D height: 16384 Max image 3D width: 16384 Max image 3D height: 16384 Max image 3D depth: 8192 Max samplers within kernel: 16 Max size of kernel argument: 1024 Alignment (bits) of base address: 1024 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: Yes Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: Read/Write Cache line size: 64 Cache size: 16384 Global memory size: 8573157376 Constant buffer size: 7287183768 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 65536 Max pipe arguments: 16 Max pipe active reservations: 16 Max pipe packet size: 2992216472 Max global variable size: 7287183768 Max global variable preferred total size: 8573157376 Max read/write image args: 64 Max on device events: 1024 Queue on device max size: 8388608 Max on device queues: 1 Queue on device preferred size: 262144 SVM capabilities: Coarse grain buffer: Yes Fine grain buffer: Yes Fine grain system: No Atomics: No Preferred platform atomic alignment: 0 Preferred global atomic alignment: 0 Preferred local atomic alignment: 0 Kernel Preferred work group size multiple: 32 Error correction support: 0 Unified memory for Host and Device: 0 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: No Queue on Host properties: Out-of-Order: No Profiling : Yes Queue on Device properties: Out-of-Order: Yes Profiling : Yes Platform ID: 0x7f2538277e70 Name: gfx1032 Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 2.0 Driver version: 3590.0 (HSA1.1,LC) Profile: FULL_PROFILE Version: OpenCL 2.0 Extensions: cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program
lux:~ #
Am 30.11.23 um 13:46 schrieb Patrik Jakobsson:
On Thu, 2023-11-30 at 11:00 +0100, Peter McD wrote:
Am 30.11.23 um 09:24 schrieb Patrik Jakobsson:
On Wed, 2023-11-29 at 12:38 +0100, Peter McD wrote:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD: > Am 28.11.23 um 13:25 schrieb Patrik Jakobsson: >> On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote: >>> >>> I use Leap 15.5 a my main system because of openCL for Darktable >>> which >>> simply works faster with the proprietary amdgpu-pro driver. ...> >> amd-opencl from AOMP should work fine with Tumbleweed. ... Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Can you detect the card with clinfo?
first the suggested link ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so With this added, darktable opens libOpenCL.so on my machine but still doesn't enable opencl support. Perhaps it requires a certain version? I will try to compare this to a working amdgpu-pro installation.
Other opencl applications like Indigo Benchmark works fine for me.
still opencl not detected by Darktable lux-tw:~ # clinfo Number of platforms 0 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.1 ICD loader Profile OpenCL 3.0 lux-tw:~ #
You should be seeing your card here. Which AMD card do you have?
AMD Radeon RX 6600
Then your card is supported. I installed OpenCL from AOMP on a freshly installed tumbleweed machine and clinfo worked out of the box. I saw you got some advise from Aaron. Please try that.
I did some comparison between clinfo from an AMDGPU-PRO installation and my AOMP build and it seems the AOMP build is missing Image support. I believe darktable requires that as well. I'll try to enable it in the AOMP build.
Thanks. I will next weekend do a new Tumbleweed installation an start again. Peter
On Tue, 2023-11-28 at 23:44 +0100, Peter McD wrote:
Am 28.11.23 um 15:40 schrieb Peter McD:
Am 28.11.23 um 13:25 schrieb Patrik Jakobsson:
On Tue, 2023-11-28 at 13:14 +0100, Peter McD wrote:
Hi,
I use Leap 15.5 a my main system because of openCL for Darktable which simply works faster with the proprietary amdgpu-pro driver.
Hi Peter,
Which other drivers have you tested with? There's a chance that the amd-opencl package from AOMP [1] might be an alternative.
Slowroll is rooted in Tumbleweed and that in turn is presently not famous for support of amdgpu-pro.
amd-opencl from AOMP should work fine with Tumbleweed.
I didn't know that, I'll test ist.
Installed and tested with an updated TW, Darktable 4.4.2 cannot find opencl.
Are there any system settings necessary?
As root, please try: ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
Peter
AMD PRO drivers provide ORCA OpenCL driver, which is incompatible with GCN5 & all RDNAs. RDNA2 uses open AMD ROCm drivers, can use Rusticl. Darktable requires OpenCL image support, which is not available with old Mesa 3D OpenCL Clover drivers, but available with ROCm and Rusticl ones. Rusticl is not available for Leap 15.5. https://en.opensuse.org/SDB:AMD_GPGPU https://forums.opensuse.org/t/activate-opencl-for-darktable/170773/54
Am 15.12.23 um 20:06 schrieb Nikolai Nikolaevskii:
AMD PRO drivers provide ORCA OpenCL driver, which is incompatible with GCN5 & all RDNAs. RDNA2 uses open AMD ROCm drivers, can use Rusticl. Darktable requires OpenCL image support, which is not available with old Mesa 3D OpenCL Clover drivers, but available with ROCm and Rusticl ones. Rusticl is not available for Leap 15.5.
https://en.opensuse.org/SDB:AMD_GPGPU https://forums.opensuse.org/t/activate-opencl-for-darktable/170773/54
Thanks, I hope all that is sorted out when I have to move to Slowroll after Leap. Peter
participants (5)
-
Aaron Puchert
-
Nikolai Nikolaevskii
-
Patrik Jakobsson
-
Peter McD
-
Peter Sjöstrand