Dear All,

Given the issues with nvidia (some versions just don't work, some work
but fail to compile all kernels), I have to remove the blendop kernel
to get DT to use OpenCL:
===
kofa@eagle:~/darktable-dev/bin > dpkg -l|grep nvidia
ii  nvidia-304                                  304.117-0ubuntu1
                           amd64        NVIDIA legacy binary driver -
version 304.117
ii  nvidia-libopencl1-304                       304.117-0ubuntu1
                           amd64        NVIDIA OpenCL Driver and ICD
Loader library
ii  nvidia-opencl-icd-304                       304.117-0ubuntu1
                           amd64        NVIDIA OpenCL ICD
ii  nvidia-settings                             331.20-0ubuntu8
                           amd64        Tool for configuring the
NVIDIA graphics driver
ii  nvidia-settings-304                         331.20-0ubuntu8
                           amd64        Transitional package for
nvidia-settings
===
[opencl_init] compiling program `blendop.cl' ..
[opencl_fopen_stat] could not open file
`/home/kofa/.cache/darktable/cached_kernels_for_GeForceGTX650/blendop.cl.bin'!
[opencl_load_program] could not load cached binary program, trying to
compile source
[opencl_load_program] successfully loaded program from
`/home/kofa/darktable-dev/share/darktable/kernels/blendop.cl'
[opencl_build_program] could not build program: -30
[opencl_build_program] BUILD STATUS: -2
BUILD LOG:


[opencl_init] failed to compile program `blendop.cl'!
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.
===
kofa@eagle:~/darktable-dev > rm share/darktable/kernels/blendop.cl
kofa@eagle:~/darktable-dev > cd bin/
kofa@eagle:~/darktable-dev/bin > ./darktable -debug opencl
[...]
[opencl_init] kernel loading time: 0.1189
[opencl_init] OpenCL successfully initialized.
[opencl_init] here are the internal numbers and names of OpenCL
devices available to darktable:
[opencl_init]           0       'GeForce GTX 650'
[opencl_init] these are your device priorities:
[opencl_init]           image   preview export  thumbnail
[opencl_init]           0       -1      0       0
[opencl_init] FINALLY: opencl is AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is ON.
[...]
[opencl_create_kernel] could not create kernel `blendop_mask_Lab'! (-44)
[opencl_create_kernel] could not create kernel `blendop_mask_RAW'! (-44)
[opencl_create_kernel] could not create kernel `blendop_mask_rgb'! (-44)
[opencl_create_kernel] could not create kernel `blendop_Lab'! (-44)
[opencl_create_kernel] could not create kernel `blendop_RAW'! (-44)
[opencl_create_kernel] could not create kernel `blendop_rgb'! (-44)
[opencl_create_kernel] could not create kernel `blendop_copy_alpha'! (-44)
[opencl_create_kernel] could not create kernel `blendop_set_mask'! (-44)
===

I know this is just a workaround, but I've been unable to find a
better version (I've tried xorg-edgers, too, with all available
versions).
Anyway, instead of disabling OpenCL completely, I think DT should just
behave as if the module was not present at all, and enable whatever
OpenCL kernels are available. Maybe a warning on the UI would be nice,
telling the user that performance is not optimal, telling them to run
with -debug opencl.

What do you think?

Thanks,
Kofa

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
darktable-devel mailing list
darktable-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to