How to determine best OpenCL settings for best performance?

Is there a methodology for getting the best performance out of your CPU GPU combination? Now as per my understanding there is some intelligence incorporated in DT for OpenCL settings but I am still not clear which setting to go for.

I would request someone to please provide some guide/tutorial for these setting and what exactly is going behind each settings .

Thanks

There is a guide for darktable 4.0 (released in the next couple of weeks) in the user manual

1 Like

In this video Aurélien talks about dt performance options:

Be careful about such video for 4.0. This video is great for 3.8.x releases, less after. Many performance settings had been changed for 4.0

2 Likes

Agreed - use the video for 3.8.x and the user manual for 4.0.x (and current master).

1 Like

@Rajkhand which darktable version are you using?

on Mac
this is darktable 3.9.0+1774~g141efbfd6
copyright (c) 2009-2022 johannes hanika
darktable-dev@lists.darktable.org

compile options:
bit depth is 64 bit
normal build
SSE2 optimized codepath enabled
OpenMP support enabled
OpenCL support enabled
Lua support enabled, API version 8.0.0
Colord support disabled
gPhoto2 support enabled
GraphicsMagick support enabled
ImageMagick support disabled
OpenEXR support enabled

that methodology on a mac is called “try and error”
if you’re using a quite recent 3.9 version the defaults might be a good start, but if you have a mac with dedicated GPU then finding the optimum device priorities via opencl_device_priority in darktablerc ist the first step. * doesn’t prefer the fastest GPU by default
then you might try to change the “tune OpenCL performance” settings

which opencl tune performance to select initially

memory size
memory transfer
memory size and transfer

Did you read the manual link above?

Use the default of memory size, but try the size and transfer and test processing the same image to see if there is an improvement (mostly likely no).

Also, build to a new version (eg. 4.1). There were some tweaks to the openCL code in the last week.

I read the manual from the above link but was not able to understand certain parts so asked the question and raised this topic. I normally post here when I don’t understand something after reading available material.

I’ll test the 4.1 version once it is available here.

Thanks

4.1 is basically identical to 4.0 at the moment

1 Like