No OpenCL though Installed and used by Geekbench6

Geekbench-6.0.3-Linux$ ./geekbench6 --compute
Geekbench 6.0.3 : https://www.geekbench.com/

Geekbench 6 requires an active internet connection and automatically uploads
benchmark results to the Geekbench Browser.

Upgrade to Geekbench 6 Pro to enable offline use and unlock other features:

Geekbench 6 - Primate Labs Store

Enter your Geekbench 6 Pro license using the following command line:

./geekbench6 --unlock

Running Gathering system information
System Information
Operating System Ubuntu 23.04
Kernel Linux 6.2.0-20-generic x86_64
Model Gigabyte Technology Co., Ltd. Z370N WIFI
Motherboard Gigabyte Technology Co., Ltd. Z370N WIFI-CF
BIOS American Megatrends Inc. F14

CPU Information
Name Intel Core i7-8700K
Topology 1 Processor, 6 Cores, 12 Threads
Identifier GenuineIntel Family 6 Model 158 Stepping 10
Base Frequency 4.70 GHz
L1 Instruction Cache 32.0 KB x 6
L1 Data Cache 32.0 KB x 6
L2 Cache 256 KB x 6
L3 Cache 12.0 MB

Memory Information
Size 15.5 GB

OpenCL Information
Platform Vendor Mesa/X.org
Platform Name rusticl
Device Vendor AMD
Device Name AMD Radeon RX 570 Series (polaris10, LLVM 15.0.7, DRM 3.49, 6.2.0-20-generic)
Device Driver Version 23.1 .0 - kisak-mesa PPA
Maximum Frequency 1244 MHz
Compute Units 32
Device Memory 4.00 GB

OpenCL
Running Background Blur
Running Face Detection
Running Horizon Detection
Running Edge Detection
Running Gaussian Blur
Running Feature Matching
Running Stereo Matching
Running Particle Physics

Uploading results to the Geekbench Browser. This could take a minute or two
depending on the speed of your internet connection.

Upload succeeded. Visit the following link and view your results online:

Gigabyte Technology Co., Ltd. Z370N WIFI - Geekbench

Visit the following link and add this result to your profile:

Gigabyte Technology Co., Ltd. Z370N WIFI - Geekbench

darktable-cltest

darktable-cltest
0.0731 [dt_get_sysresource_level] switched to 2 as `large’
0.0731 total mem: 15836MB
0.0731 mipmap cache: 1979MB
0.0732 available mem: 10825MB
0.0732 singlebuff: 247MB
0.0732 OpenCL tune mem: WANTED
0.0732 OpenCL pinned: WANTED
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: ‘default’
[opencl_init] opencl_library: ‘default path’
[opencl_init] opencl_device_priority: ‘+1/!1,/+1,/+0,/+0,’
[opencl_init] opencl_mandatory_timeout: 200
0.0739 [dt_dlopencl_init] could not find default opencl runtime library ‘libOpenCL’
0.0739 [dt_dlopencl_init] could not find default opencl runtime library ‘libOpenCL.so’
[opencl_init] opencl library ‘libOpenCL.so.1’ found on your system and loaded
[opencl_init] found 2 platforms
[opencl_init] found 2 devices

[dt_opencl_device_init]
DEVICE: 0: ‘AMD Radeon RX 570 Series (polaris10, LLVM 15.0.7, DRM 3.49, 6.2.0-20-generic)’
PLATFORM NAME & VENDOR: rusticl, Mesa/X.org
CANONICAL NAME: rusticlamdradeonrx570series
DRIVER VERSION: 23.1.0 - kisak-mesa PPA
DEVICE VERSION: OpenCL 3.0
DEVICE_TYPE: GPU
GLOBAL MEM SIZE: 4096 MB
MAX MEM ALLOC: 1024 MB
MAX IMAGE SIZE: 16384 x 16384
MAX WORK GROUP SIZE: 1024
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 1024 1024 1024 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: WANTED
MEMORY TUNING: WANTED
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 128
PERFORMANCE: 0.687
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /usr/share/darktable/kernels
KERNEL DIRECTORY: /home/raj/.cache/darktable/cached_v1_kernels_for_rusticlAMDRadeonRX570Series_2310kisakmesaPPA
CL COMPILER OPTION: -cl-fast-relaxed-math
KERNEL LOADING TIME: 0.4467 sec

[dt_opencl_device_init]
DEVICE: 1: ‘AMD Radeon RX 570 Series (polaris10, LLVM 15.0.7, DRM 3.49, 6.2.0-20-generic)’
PLATFORM NAME & VENDOR: Clover, Mesa
CANONICAL NAME: cloveramdradeonrx570series
DRIVER VERSION: 23.1.0 - kisak-mesa PPA
DEVICE VERSION: OpenCL 1.1 Mesa 23.1.0 - kisak-mesa PPA
DEVICE_TYPE: GPU
*** The OpenCL driver doesn’t provide image support. See also ‘clinfo’ output ***
[opencl_init] OpenCL successfully initialized. Internal numbers and names of available devices:
[opencl_init] 0 ‘rusticl AMD Radeon RX 570 Series’
[opencl_init] FINALLY: opencl is AVAILABLE and ENABLED.
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] -1 0 0 0 0
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 200
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] -1 0 0 0 0
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 200

Ubuntu 23.04 Darktable version

this is darktable 4.3.0~git2328.ab646f97-1+10063.1
copyright (c) 2009-2023 johannes hanika
Sign in to GitHub ¡ GitHub

compile options:
bit depth is 64 bit
normal build
SSE2 optimized codepath enabled
OpenMP support enabled
OpenCL support enabled
Lua support enabled, API version 9.1.0
Colord support enabled
gPhoto2 support enabled
GraphicsMagick support enabled
ImageMagick support disabled
libavif support disabled
libheif support enabled
libjxl support enabled
OpenJPEG support enabled
OpenEXR support enabled
WebP support enabled

You have a driver problem. Which driver are you using?

driver version/detail already in the above post.

It seems to be working with this driver.

but you are telling it [opencl_init] opencl_device_priority: ‘+1/!1,/+1,/+0,/+0,’ To use device 1 for the main processing (the one with the driver issue).

How many cards you have installed? One? Why two drivers?

Also PERFORMANCE: 0.687 This seems to indicate that the RX570 will be a slower performance than the CPU (If I understand that benchmark correctly).

Why that? Force pinning on modern AMD should be no good, tune for memory likely bad too.

I don’t know about the performance difference in Ubuntu 23.04. But when i was on 22.04 and using AMD provided driver, DT was using this same card for openCL. But now DT is not upgraded in 22.04 so I switch to 23.04 and no AMD drivers for this version, so using Mesa drivers but the Geekbench score is better in 23.04 by around 2000 points!

From MacOS Same hardware.

raj$ /Applications/darktable.app/Contents/MacOS/darktable-cltest
0.0465 [dt_get_sysresource_level] switched to 3 as `unrestricted’
0.0465 total mem: 16384MB
0.0465 mipmap cache: 2048MB
0.0465 available mem: 262144MB
0.0465 singlebuff: 16384MB
0.0465 OpenCL tune mem: WANTED
0.0465 OpenCL pinned: OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: ‘default’
[opencl_init] opencl_library: ‘default path’
[opencl_init] opencl_device_priority: ‘+/+/+/+/+*’
[opencl_init] opencl_mandatory_timeout: 200
[opencl_init] opencl library ‘/System/Library/Frameworks/OpenCL.framework/Versions/Current/OpenCL’ found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 3 devices

[dt_opencl_device_init]
DEVICE: 0: ‘Intel(R) Core™ i7-8700K CPU @ 3.70GHz’
CANONICAL NAME: intelrcoretmi78700kcpu370ghz
PLATFORM NAME & VENDOR: Apple, Apple
DRIVER VERSION: 1.1
DEVICE VERSION: OpenCL 1.2
DEVICE_TYPE: CPU
GLOBAL MEM SIZE: 16384 MB
MAX MEM ALLOC: 4096 MB
MAX IMAGE SIZE: 8192 x 8192
MAX WORK GROUP SIZE: 1024
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 1024 1 1 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
MEMORY TUNING: WANTED
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 1000
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 128
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
*** marked as disabled ***

[dt_opencl_device_init]
DEVICE: 1: ‘KBL Graphics’
CANONICAL NAME: kblgraphics
PLATFORM NAME & VENDOR: Apple, Apple
DRIVER VERSION: 1.2(Mar 14 2023 21:43:06)
DEVICE VERSION: OpenCL 1.2
DEVICE_TYPE: GPU
GLOBAL MEM SIZE: 1536 MB
MAX MEM ALLOC: 384 MB
MAX IMAGE SIZE: 16384 x 16384
MAX WORK GROUP SIZE: 256
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 256 256 256 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
MEMORY TUNING: WANTED
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 128
PERFORMANCE: 1.751
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /Applications/darktable.app/Contents/Resources/share/darktable/kernels
KERNEL DIRECTORY: /Users/raj/.cache/darktable/cached_v1_kernels_for_KBLGraphics_12Mar142023214306
CL COMPILER OPTION:
KERNEL LOADING TIME: 0.0222 sec

[dt_opencl_device_init]
DEVICE: 2: ‘AMD Radeon RX 570 Compute Engine’
CANONICAL NAME: amdradeonrx570computeengine
PLATFORM NAME & VENDOR: Apple, Apple
DRIVER VERSION: 1.2 (Mar 14 2023 21:39:44)
DEVICE VERSION: OpenCL 1.2
DEVICE_TYPE: GPU
GLOBAL MEM SIZE: 4096 MB
MAX MEM ALLOC: 1024 MB
MAX IMAGE SIZE: 16384 x 16384
MAX WORK GROUP SIZE: 256
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 256 256 256 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
MEMORY TUNING: WANTED
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 128
PERFORMANCE: 3.637
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /Applications/darktable.app/Contents/Resources/share/darktable/kernels
KERNEL DIRECTORY: /Users/raj/.cache/darktable/cached_v1_kernels_for_AMDRadeonRX570ComputeEngine_12Mar142023213944
CL COMPILER OPTION:
KERNEL LOADING TIME: 0.0236 sec
[opencl_init] OpenCL successfully initialized. Internal numbers and names of available devices:
[opencl_init] 0 ‘KBL Graphics’
[opencl_init] 1 ‘AMD Radeon RX 570 Compute Engine’
[opencl_init] FINALLY: opencl is AVAILABLE and ENABLED.
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 0 0 0
[dt_opencl_update_priorities] 1 1 1 1 1
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 1 1 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 200
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 0 0 0
[dt_opencl_update_priorities] 1 1 1 1 1
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 1 1 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 200

you might need ROCm instead of rusticl

Because mesa provides 2 opencl implementations (clover and rusticl). Looks like @Rajkhand is using dt master and has rusticl enabled, dt master correctly use rusticl and ignores clover (dt 4.2 won’t work)

So, like you said, opencl is enabled in darktable. But the last time I tried rusticl it worked but with some issues/artifacts on some modules (demosaic markesteijn, color balance rgb). Some were fixed in mesa main branch but not sure in the @Rajkhand version. In such case it should use amd rocm opencl implementation until rusticl works correctly.

We should also understand what is not working (not clear) and @Rajkhand should follow your suggestions on opencl_device_priority and also @hannoschwalm suggestions.

ROCm is not supported on non-LTS versions
AMD ROCm FAQ
I did try some suggestions from the NET to install AMD drivers on non-LTS versions, but was not successful.

I had put a question on this forum for DT 4.4 on Ubuntu 22.04 LTS as OBS from master branch stopped upgrading in 22.04 at some point and switched to 23.04.

My main question has not been answered Why Geekbench has better score with the same driver and DT is not able to utilise it?

What other users of DT who are using non-LTS Ubuntu or distros based on Ubuntu are doing to activate openCL for their AMD cards?

I am new to Linux, for the sake of DT performance I installed Ubuntu and started using it as DT supports it. But now facing many roadblocks. Please help me solve this problem.
Thanks

As I already said looks like you’re using darktable from master and it’s using mesa rusticl. So I don’t understand your question because you haven’t provided info on what your issue is (“DT is not able to utilise it” doesn’t help)

Rusticl may have some issues (artifacts) because it’s very young and depends on which mesa version you’re using.

Also read the above posts and suggestions (why are you using a custom opencl_device_priority and try with it cleaned up).

If you don’t want to mess with all of this one of the solutions is to use another distro (I happily use archlinux) that let you use amd rocm until rusticl is stable.

1 Like