Project

General

Profile

Bug #10782

Darktable uses deprecated OpenCL compiler option

Added by Michał Nowakowski almost 3 years ago. Updated almost 3 years ago.

Status:
Fixed
Priority:
Low
Category:
General
Target version:
Start date:
12/15/2015
Due date:
% Done:

100%

Affected Version:
1.6.9
System:
Ubuntu
bitness:
64-bit
hardware architecture:
amd64/x86

Description

Darktable compiles its OpenCL kernels with -cl-strict-aliasing (in opencl.c). It got deprecated after OpenCL 1.0, see here:

https://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/deprecated.html

I ran into this after trying to use Intel Code Builder for OpenCL API 2015 for Ubuntu from this site:

https://software.intel.com/en-us/articles/intel-code-builder-for-opencl-api

I can run Luxmark 2.0 with that driver, so it's probably not broken. It's just that Darktable won't use OpenCL, and in the logs I see the driver complains about this aliasing option.

History

#1 Updated by Pedro Côrte-Real almost 3 years ago

  • Assignee set to Ulrich Pegelow

Running darktable with opencl on intel hardware is probably a bad idea. This is even to do OpenCL on the CPU if I'm reading it correctly which will almost surely not beat the SSE code we already have. Ulrich may have some more information on this though.

#2 Updated by Ulrich Pegelow almost 3 years ago

  • % Done changed from 0 to 20
  • Target version set to Future
  • Status changed from New to Triaged

darktable does not use OpenCL on any CPU (unless the user alters a config option in darktablerc).

If it's at all a good idea to use OpenCL with Intel (GPU) hardware is open to debate. In contrast to AMD and NVIDIA I have not yet seen a real success story for that. We had the discussion about a year ago if we should have all Intel GPUs blacklisted for that reason. I voted against at that time as I had the hope that the corresponding OpenCL drivers would quickly mature. However, this probably has not happened yet, so we should really reconsider the blacklist idea in order to avoid user frustration.

Concerning the -cl-strict-aliasing option I will see if we can remove it in the future without performance penalty. However, the Intel drivers should not be our guiding setup for that decision.

#3 Updated by Roman Lebedev almost 3 years ago

Ulrich Pegelow wrote:

darktable does not use OpenCL on any CPU (unless the user alters a config option in darktablerc).

It does. PoCL lies that CPU are GPU.
https://bugzilla.redhat.com/show_bug.cgi?id=1199008

#4 Updated by Michał Nowakowski almost 3 years ago

Ulrich Pegelow wrote:

darktable does not use OpenCL on any CPU (unless the user alters a config option in darktablerc).

Oops, I forgot to mention I enabled it.

If it's at all a good idea to use OpenCL with Intel (GPU) hardware is open to debate. In contrast to AMD and NVIDIA I have not yet seen a real success story for that.

Okay, looks like mine won't be one, either. My GPU (HD 4600, beignet 1.1.1) turned out to be exactly two times slower than the CPU (i5-4570, 4 cores, 4 threads, 3.2 GHz), despite Luxmark 2.0 rating them almost equally fast (and almost twice as fast in tandem).

we should really reconsider the blacklist idea in order to avoid user frustration.

If one uses an oddling like a dual-core with GT3 GPU, current beignet might be good enough. Otherwise, you're probably right.

#5 Updated by Ulrich Pegelow almost 3 years ago

  • % Done changed from 20 to 100
  • Status changed from Triaged to Fixed

Removed deprecated compiler option in git master (post 2.0).

Also available in: Atom PDF