Project

General

Profile

Bug #11677

Darktable OpenCL performance

Added by Robby Pedrica almost 2 years ago. Updated about 1 month ago.

Status:
Closed: invalid
Priority:
Low
Assignee:
-
Category:
OpenCL
Target version:
Start date:
07/30/2017
Due date:
% Done:

0%

Affected Version:
2.2.5
System:
other GNU/Linux
bitness:
64-bit
hardware architecture:
amd64/x86

Description

I currently have an Nvidia GT520 with 1Gb of memory. I've correctly configured opencl for Darktable and it correctly picks up the support and uses opencl. However, my performance is significantly worse with opencl than with CPU. An example would be when using equalizer - pick one of the preset points and trying to move it is almost impossible. Switching back to CPU, and the pick choice moves freely. Is this an issue with DT/opencl or simply a matter of too little memory?

darktable-debug.txt Magnifier (24.2 KB) Robby Pedrica, 07/30/2017 01:36 AM

darktable-debug2.txt Magnifier (66.8 KB) Robby Pedrica, 07/31/2017 12:12 AM

History

#1 Updated by Roman Lebedev almost 2 years ago

Robby Pedrica wrote:

I currently have an Nvidia GT520 with 1Gb of memory. I've correctly configured opencl for Darktable and it correctly picks up the support and uses opencl. However, my performance is significantly worse with opencl than with CPU. An example would be when using equalizer - pick one of the preset points and trying to move it is almost impossible. Switching back to CPU, and the pick choice moves freely. Is this an issue with DT/opencl or simply a matter of too little memory?

[opencl_init] device 0 `GeForce GT 520' allows GPU memory allocations of up to 240MB

That is horrible. In this case it is absolutely a memory deficiency problem.

#2 Updated by Ulrich Pegelow almost 2 years ago

Please run darktable with '-d opencl -d perf' and collect the profiling output so we can see if there is something wrong.

Judging from some public benchmarking data (passmark) your video card belongs more to the low end segment ([[https://www.videocardbenchmark.net/video_lookup.php?gpu=GeForce+GT+520&id=1425]]). I would not expect wonders from that setup. Normally darktable should have detected that fact during first start and should have disabled opencl support for you. Of course if you re-enabled it manually then you are on your own :)

#3 Updated by Robby Pedrica almost 2 years ago

Hi Ulrich, Roman,

Thanks for your responses.

Attached is a profile debug. Not entirely sure what this is all about but I can see some pretty long times in there. So I guess this card is just too low-end. I'm looking at the Asus GT740 with 2GB memory. Do you think this will be sufficient to give a boost above normal CPU use or should I go higher?

#4 Updated by Ulrich Pegelow almost 2 years ago

  • Status changed from New to Closed: invalid

Attached is a profile debug. Not entirely sure what this is all about but I can see some pretty long times in there.

Nothing problematic in there. All figures are consistent with a rather slow GPU.

I'm looking at the Asus GT740 with 2GB memory. Do you think this will be sufficient to give a boost above normal CPU use or should I go higher?

Frankly, I would go higher. I don't know the GT740 but according to the specs I would assume it's only a bit faster than an i7 CPU.

#5 Updated by Robby Pedrica almost 2 years ago

Hi Ulrich

I've taken your advice and gone for an Asus GT1030 with 2GB of memory. The performance improvement ( even over CPU ) is huge. There are still a few items ( like export ) that are slow but overall this is a very big improvement. Thanks to you and Roman for your responses.

#6 Updated by Roman Lebedev almost 2 years ago

  • Target version set to 2.4.0

#7 Updated by ralph corrales about 1 month ago

Ideally on a CPU you want to be using less work items than on a GPU. Read essay service: there's always the possibility that making something parallel is actually less efficient

Also available in: Atom PDF