How to enable async pixelpipe?

I use Fedora Linux KDE/Wayland. darktable works like a charm with no issues at all. I’m wondering if I could accelerate the pixel pipe. darktable-cltest shows ASYNC PIXELPIPE: NO
Is there any parameter to enable the async pixelpipe?

darktable-cltest 
darktable 5.0.1
Copyright (C) 2012-2025 Johannes Hanika and other contributors.

Compile options:
  Bit depth              -> 64 bit
  Debug                  -> DISABLED
  SSE2 optimizations     -> ENABLED
  OpenMP                 -> ENABLED
  OpenCL                 -> ENABLED
  Lua                    -> ENABLED  - API version 9.4.0
  Colord                 -> ENABLED
  gPhoto2                -> ENABLED
  GMIC                   -> ENABLED  - Compressed LUTs are supported
  GraphicsMagick         -> ENABLED
  ImageMagick            -> DISABLED
  libavif                -> ENABLED
  libheif                -> ENABLED
  libjxl                 -> ENABLED
  LibRaw                 -> ENABLED  - Version 0.22.0-Devel202403
  OpenJPEG               -> ENABLED
  OpenEXR                -> ENABLED
  WebP                   -> ENABLED

See https://www.darktable.org/resources/ for detailed documentation.
See https://github.com/darktable-org/darktable/issues/new/choose to report bugs.

     0.4042 [dt_get_sysresource_level] switched to 2 as `large'
     0.4042   total mem:       64206MB
     0.4042   mipmap cache:    8025MB
     0.4042   available mem:   43891MB
     0.4042   singlebuff:      1003MB
     0.4052 [opencl_init] opencl library 'libOpenCL' found on your system and loaded, preference 'default path'
     0.8487 [opencl_init] found 1 platform
[opencl_init] found 1 device

[dt_opencl_device_init]
   DEVICE:                   0: 'NVIDIA GeForce RTX 3060 Ti'
   CONF KEY:                 cldevice_v5_nvidiacudanvidiageforcertx3060ti
   PLATFORM, VENDOR & ID:    NVIDIA CUDA, NVIDIA Corporation, ID=4318
   CANONICAL NAME:           nvidiacudanvidiageforcertx3060ti
   DRIVER VERSION:           570.133.07
   DEVICE VERSION:           OpenCL 3.0 CUDA, SM_20 SUPPORT
   DEVICE_TYPE:              GPU, dedicated mem
   GLOBAL MEM SIZE:          7851 MB
   MAX MEM ALLOC:            1963 MB
   MAX IMAGE SIZE:           32768 x 32768
   MAX WORK GROUP SIZE:      1024
   MAX WORK ITEM DIMENSIONS: 3
   MAX WORK ITEM SIZES:      [ 1024 1024 64 ]
   **ASYNC PIXELPIPE:          NO**
   PINNED MEMORY TRANSFER:   NO
   USE HEADROOM:             400Mb
   AVOID ATOMICS:            NO
   MICRO NAP:                250
   ROUNDUP WIDTH & HEIGHT    16x16
   CHECK EVENT HANDLES:      128
   TILING ADVANTAGE:         0.000
   DEFAULT DEVICE:           NO
   KERNEL BUILD DIRECTORY:   /usr/share/darktable/kernels
   KERNEL DIRECTORY:         /home/jim/.cache/darktable/cached_v5_kernels_for_NVIDIACUDANVIDIAGeForceRTX3060Ti_57013307
   CL COMPILER OPTION:       -cl-fast-relaxed-math
   CL COMPILER COMMAND:      -w -cl-fast-relaxed-math -DNVIDIA_SM_20=1 -DNVIDIA=1 -I"/usr/share/darktable/kernels"
   KERNEL LOADING TIME:       2.0942 sec
[opencl_init] OpenCL successfully initialized. internal numbers and names of available devices:
[opencl_init]           0       'NVIDIA CUDA NVIDIA GeForce RTX 3060 Ti'
     3.0570 [opencl_init] FINALLY: opencl PREFERENCE=ON is AVAILABLE and ENABLED.
[opencl_init] opencl_scheduling_profile: 'very fast GPU'
[opencl_init] opencl_device_priority: '1,*/1,*/1,*/1,*/0,*'
[opencl_init] opencl_mandatory_timeout: 20000
[opencl_update_priorities] these are your device priorities:
[opencl_update_priorities]              image   preview export  thumbs  preview2
[dt_opencl_update_priorities]           0       0       0       0       0
[opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[opencl_update_priorities]              image   preview export  thumbs  preview2
[opencl_update_priorities]              1       1       1       1       1
[opencl_synchronization_timeout] synchronization timeout set to 0
[opencl_update_priorities] these are your device priorities:
[opencl_update_priorities]              image   preview export  thumbs  preview2
[dt_opencl_update_priorities]           0       0       0       0       0
[opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[opencl_update_priorities]              image   preview export  thumbs  preview2
[opencl_update_priorities]              1       1       1       1       1
[opencl_synchronization_timeout] synchronization timeout set to 0
     3.3861 [iop_load_module] failed to open `rawdenoise': /usr/lib64/darktable/plugins/librawdenoise.so: undefined symbol: _ZGVbM4v_sqrtf

The preference screen looks like this:

If you want to try it you need to manually tweak the setting in the tablerc config file… darktable user manual - memory & performance tuning

3 Likes

Thank you. The documentation is a bit cryptic at first. But it works. After I changed the following line in darktablerc, it is switched on. Let’s see if it runs stable.
cldevice_v5_nvidiacudanvidiageforcertx3060ti=0 250 0 16 16 128 1 0 0.000 0.000 0.250

I’ve got an Nvidia 3060 Ti…Just to be curious as there was a thread recently about video cards…I tried with it on and off…it was faster off on the 3 or 4 tests I ran…