Ulrich,

thanks for the info.
I did not have libOpenCL.so; it's contained in nvidia-opencl-dev,
which I have now installed.
The nvidia-uvm module was present on my system, but not loaded. I've
loaded it with modprobe, now it's present in the result of lsmod.
The /dev/nvidia-uvm mode was also missing; I've created it using mknod:
crw-rw-rw- 1 root root 195,   0 Jul 24 16:10 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Jul 24 16:10 /dev/nvidiactl
crw-rw-rw- 1 root root 249,   0 Jul 24 21:29 /dev/nvidia-uvm

Now I get:
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] could not get platforms: -1001

If I run darktable as root (sudo), OpenCL works:
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[...]
[opencl_init] FINALLY: opencl is AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is ON.

If subsequently I run darktable without sudo, OpenCL works again.

Some people have suggested creating an udev rule to create the device:
https://devtalk.nvidia.com/default/topic/699610/334-21-driver-returns-999-on-cuinit-cuda-/

Kofa

On 24 July 2014 18:51, Ulrich Pegelow <[email protected]> wrote:
> Hi,
>
> to bring a bit of input to the different topics.
>
> darktable needs the system library libOpenCL.so which must be accessible
> to the system's dynamic loader (ld.so). Reason is that the function flow
> is like this:
>
> darktable -> libOpenCL.so -> libnvidia-opencl.so.1 -> kernel driver ->
> hardware
>
> There is no way of bypassing libOpenCL.so by directly calling
> libnvidia-opencl.so.1 because the two are different.
>
> Depending on your system you will need to install the right packages to
> get libOpenCL.so - typically a chain of symbolic links to something like
> libOpenCL.so.x.y.z. Try 'locate libOpenCL.so' to see if the symbolic
> link(s) exist.
>
> @Istvan: you are probably still missing that library or ld.so can't find it.
>
> If the library is found there are other requirements that must be met.
>
> As written above you need the vendor specific library
> libnvidia-opencl.so.1 (or similar). libOpenCL.so knows from the content
> of /etc/OpenCL/vendors/nvidia.icd which vendor library to call. If that
> file is missing, OpenCL can't work.
>
> Then the kernel driver needs to be loaded. Newer nvidia systems need two
> kernel modules: nvidia and nvidia_uvm.
>
> Check with 'lsmod | egrep nvidia' if both are there.
>
> If this is OK there need to be device special files for the vendor
> specific library to communicate with your kernel drivers. You need to
> see something like that:
>
> crw-rw----+ 1 root video 195,   0 24. Jul 18:28 /dev/nvidia0
> crw-rw----+ 1 root video 195, 255 24. Jul 18:28 /dev/nvidiactl
> crw-rw-rw-  1 root root  249,   0 24. Jul 18:28 /dev/nvidia-uvm
>
> Check that your account has write access to all of them. In my case
> users who want to use OpenCL need to be member of group video.
>
> @Federico:
>
> The error number -1001 from your system tells that even though you have
> libOpenCL.so one of the other requirements above were not met.
>
> Ulrich
>
>
>
> Am 24.07.2014 13:53, schrieb Federico Bruni:
>> Il 24.07.2014 07:15 Ulrich Pegelow ha scritto:
>>> You are lacking libOpenCL.so which should be a symbolic link to
>>> libOpenCL.so.1. We had a similar issue before.
>>>
>>> Normally this link gets generated during installation of the driver by
>>> automatically calling ldconfig. You may either
>>>
>>> * call ldconfig as root (preferred option)
>>> * generate the link manually
>>>
>>
>> Same problem here, but ldconfig did not help to generate the symlink.
>> Output from root user:
>>
>> # find / -name 'libOpenCL.so'
>> #
>> # ldconfig
>> # find / -name 'libOpenCL.so'
>> #
>>
>> It seems that it should be included in this package:
>>
>> $ apt-file search libOpenCL.so | grep nvidia
>> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so
>> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
>> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1.0.0
>> nvidia-opencl-dev: /usr/lib/x86_64-linux-gnu/libOpenCL.so
>>
>> But it's actually just in nvidia-opencl-dev:
>> https://packages.debian.org/sid/amd64/nvidia-opencl-dev/filelist
>> https://packages.debian.org/sid/amd64/nvidia-libopencl1/filelist
>>
>> Now I've installed the -dev package and I got the symlink:
>>
>> $ ls -l /usr/lib/x86_64-linux-gnu/libOpenCL.so
>> lrwxrwxrwx 1 root root 14 mag 25 01:36
>> /usr/lib/x86_64-linux-gnu/libOpenCL.so -> libOpenCL.so.1
>>
>> However, darktable can't use opencl:
>>
>> [opencl_init] trying to load opencl library: '<system default>'
>> [opencl_init] opencl library 'libOpenCL' found on your system and loaded
>> [opencl_init] could not get platforms: -1001
>> [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
>> [opencl_init] initial status of opencl enabled flag is OFF.
>>
>> I'm on debian sid. I've reported the problem here weeks ago:
>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746643
>>
>> $ cat /proc/driver/nvidia/version
>> NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.24  Wed Jul  2
>> 14:24:20 PDT 2014
>> GCC version:  gcc version 4.8.3 (Debian 4.8.3-4)
>>
>>
>
> ------------------------------------------------------------------------------
> 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-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/darktable-users

------------------------------------------------------------------------------
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-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-users

Reply via email to