Opencl with nvidia 1050 and old i7 to speed up Darktable

Dear all,
I’am looking to speed up darktable with activating OpenCL.
Dartable informs me at the core option “activate OpenCL support” is not available.
I will miss some software.
I do have an old i7 (type 970) processor enough DDR 3 GB and a NVidia 1050 GPU.
I have Manjaro installed as linux system.
I would appreciate if somebody good give me some directions were to find the right software setup for my system.
Many thanks upfront.

When you start darktable from terminal with

darktable -d opencl

you get detailed info about darktable’s opencl usage. Can you post the output here?

Hi have done that. By the way i have a GT 1030/PCIe/SSE2 GPU and version 4.6.0 NVIDIA 430.40 of Nvidia is installed.

[ruudm@ruud-pc ~]$ sudo darktable -d opencl
[sudo] wachtwoord voor ruudm:
WARNING: either your user id or the effective user id are 0. are you running darktable as root?

(process:2914): GLib-GObject-CRITICAL **: 21:50:44.398: g_object_set: assertion ‘G_IS_OBJECT (object)’ failed
[defaults] found a 64-bit system with 18486404 kb ram and 8 cores (0 atom based)
[defaults] setting very high quality defaults
0.101170 [opencl_init] opencl related configuration options:
0.101187 [opencl_init]
0.101192 [opencl_init] opencl: 1
0.101196 [opencl_init] opencl_library: ‘’
0.101201 [opencl_init] opencl_memory_requirement: 768
0.101207 [opencl_init] opencl_memory_headroom: 300
0.101211 [opencl_init] opencl_device_priority: ‘/!0,//
0.101216 [opencl_init] opencl_mandatory_timeout: 200
0.101221 [opencl_init] opencl_size_roundup: 16
0.101225 [opencl_init] opencl_async_pixelpipe: 0
0.101229 [opencl_init] opencl_synch_cache: 0
0.101234 [opencl_init] opencl_number_event_handles: 25
0.101239 [opencl_init] opencl_micro_nap: 1000
0.101243 [opencl_init] opencl_use_pinned_memory: 0
0.101247 [opencl_init] opencl_use_cpu_devices: 0
0.101251 [opencl_init] opencl_avoid_atomics: 0
0.101258 [opencl_init]
0.101410 [opencl_init] could not find opencl runtime library ‘libOpenCL’
0.101487 [opencl_init] could not find opencl runtime library ‘libOpenCL.so’
0.101563 [opencl_init] could not find opencl runtime library ‘libOpenCL.so.1’
0.101572 [opencl_init] no working opencl library found. Continue with opencl disabled
0.101577 [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
0.101580 [opencl_init] initial status of opencl enabled flag is OFF.

libOpenCL is not installed on your system. Unfortunately I’m not familiar with your distro and don’t know how to install it there.

Maybe these links help you:


Hi i did remove the Nvidia driver and installed the nvidia390 driver including all other progs like opencl header opencl nvidia etc etc… After reboor Opencl is active.
Thanks for the info.

Dag, Ruud!

You are in luck: one of the distros that I have experimented with concerning openCL and GTX-1050 is Manjaro :slight_smile: Here are the Manjaro addons I used for

a) nvidia, and

b) openCL:

Using the GTX-1050 graphics card with Manjaro, I clocked the standard bench test at

  • 6.237 seconds with openCL, and
  • 10.681 seconds without openCL.

Mvg,
Claes in Lund, Zweden

Hi Claes,
Thanks for the update. I checked I have a GTX 1030 GPU in the PC. But i installed the Nvidia 390 drivers and it works.
A lot of difference I do not experience. Its only a 2GB GPU.
What GPU would be interesting to realy use the power op Opencl?
Greetings
Ruud

Hi Ruud!

My best gfx is a GTX-1660Ti.

Standard bench mark clockings:

  • 2.884 seconds with openCL, and
  • 9.839 seconds without openCL.

Note that I have a Ryzen 2700X CPU, and a Linux
which is compiled especially for that CPU.

Using standard Manjaro and the GTX-1660Ti:

  • 3.020 seconds with openCL, and
  • 10.357 seconds without openCL.

Mvg
Claes in Lund, Zweden

It partly depends on your workflow, some pipelines will benefit more from GPU than others.

I have one particular pipeline (the basecurve exposure fusion workflow, edgardoh’s work on splitting exposure fusion into a separate module didn’t have opencl support and likely never will since it’s been determined to simply leave the module in its current broken state) where on an i5-7200U, even with Intel integrated graphics, CPU is 3 seconds vs. 12 for CPU.

Hi Cleas,
Yhanks for the info.
Sometime I have to update my 8 yeras old I7 pc. :))
The new one will be based on AMD Ryzen.
Greatings
Ruud

Thanks for your reaction. Your I5 is much faster then my 8 years old i7 (970).
I will have to upgrade … :]]

Morgen, Ruud!

According to this source
https://www.videocardbenchmark.net/
there are more than 3,900 different video cards to choose from.

One of my first “better” cards was the GTX-1050. When the itch to Buy A Better GFX
arrived, I scouted the market to see which new card would get me the most additional
power for the least kind of money. I settled for the GTX-1660Ti.

But I forgot to check one thing.
Or, actually, I had no idea that that was such an important matter.
Now, I know. The 1660 is an Nvidia card, built on the latest platform.
This means that those Linux distros that advocate free drivers only
will not be able to use the 1660, since it needs Nvidia’s proprietary drivers.

There is work on nouveau, the free world’s answer to gfx drivers, which
can handle some Nvidia platforms, but not yet the 1660.

Vriendelijke groeten,
Claes in Lund, Zweden

Hi Claes,
If I read and see it correctly. On Manjaro you can also use the Vendor specific drivers so made by NVIDIA for use on Linux systems. I only do not know of those drivers (original drivers from NVIDIA) give maximum performance. Now I use the 390 drivers from NVIDIA for my GTX 1030 GPU on my Manjaro distro. I does work.
It will take some time a new system will be at my home. I have also some other expenditures planned. Hopefully my old PC will not let me down for a while:))
greetings,

By the way a black and white I took during our recent vacation in Romania (country of birth of my wife)


Ruud.

1 Like

I run Manjaro too make sure all the dependencies are installed. i think I googled the requirements for making sure everything was installed for opencl.

When running darktable with opencl, I start it from the command line with:

optirun darktable -d opencl

Thanks for the info. I do the same. I do not need to run the command line. In Darktable I can see that opencl is running.