从 升级到 之后,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 任何错误。
答案1
在由 root 拥有的标识clinfo
下运行。strace
~/.nv
[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)