Поддержка OpenCL после обновления с nvida-375 до nvidia-384 кажется сломанной. В частности, вызов clCreateContext.
Запуск clinfo с nvidia-375 приводит к:
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
Однако с nvidia-384 видно:
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] <checkNullCtx:2241:create context with device from default platform : error 999>
Это также невозможно для легкого понижения, поскольку nvidia-375 теперь является переходным пакетом для nvidia-385:
$ apt search nvidia-375
nvidia-375/xenial-updates,now 384.90-0ubuntu0.16.04.2 amd64 [residual-config]
Transitional package for nvidia-384
Обновление: запуск clinfo с правами root не приводит к ошибкам с 384.
Запуск clinfo и strace показал, что ~/.nv принадлежит root.
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
Запуск clinfo и strace показал, что ~/.nv принадлежит root.
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
Запуск clinfo и strace показал, что ~/.nv принадлежит root.
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR) = -1 EACCES (Permission denied)
[pid 11593] open("~/.nv/ComputeCache/index", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)