2

警告(theano.sandbox.cuda):CUDA 已安装,但设备 gpu 不可用(错误:cuda 不可用)

尝试运行任何示例 Theano 程序时出现此错误。

我已经尝试了此线程中提供的所有建议修复。

nvcc --version输出:

nvcc:NVIDIA (R) Cuda 编译器驱动程序
版权所有 (c) 2005-2015 NVIDIA Corporation
构建于 Tue_Aug_11_14:27:32_CDT_2015
Cuda 编译工具,版本 7.5,V7.5.17

nvidia-smi输出:

Sat Dec 10 00:46:14 2016       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57                 Driver Version: 367.57                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1070    Off  | 0000:01:00.0     Off |                  N/A |
|  0%   37C    P0    33W / 151W |      0MiB /  8112MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

gcc 版本:

(venv) rgalbo@blueberry:~$ gcc --version
gcc (Ubuntu 4.9.3-13ubuntu2) 4.9.3

我一直在努力让它工作一段时间,希望有人能指出我正确的方向。

4

1 回答 1

1

所以我终于能够让 Theano 找到 gpu,我完成了此处提供的步骤,以清理我最初安装 CUDA 时可能出现的任何损坏安装。

在此之后,我运行sudo apt-get install cuda了为我的 nvidia 显卡安装正确驱动程序包的程序。然后我继续从 deb 安装 CUDA 8.0,这能够覆盖给我带来问题的 7.5 版本。

这是我现在可以从 theano_test.py 获得的输出:

(venv) rgalbo@blueberry:~$ python theano_test.py
Using gpu device 0: GeForce GTX 1070 (CNMeM is disabled, cuDNN 5103)
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.185949 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  2.20771813  2.29967761
  1.62323296]
Used the gpu

这是我的~/.theanorc文件:

(venv) rgalbo@blueberry:~$ cat ~/.theanorc
[global]
floatX = float32
device = gpu

[nvcc]
flags=-D_FORCE_INLINE

[cuda]
root = /usr/local/cuda-8.0

每次单独安装后,我更新并重新启动服务器只是为了好运,我发现这很有帮助。

于 2016-12-13T08:54:04.563 回答