2

在python中,导入theano后,我得到以下信息:

In [1]: import theano
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available  
(error: Unable to get the number of gpus available: unknown error)

我在 ubuntu 14.04 上运行它,我有一个旧的 gpu:GeForce GTX280

还有我的英伟达驱动:

$ nvidia-smi
Wed Jul 13 21:25:58 2016       
+------------------------------------------------------+                       
| NVIDIA-SMI 340.96     Driver Version: 340.96         |                       
|-------------------------------+----------------------+----------------------+
| 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 280     Off  | 0000:02:00.0     N/A |                  N/A |
| 40%   65C    P0    N/A /  N/A |    638MiB /  1023MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|    0            Not Supported                                               |
+-----------------------------------------------------------------------------+

我不确定为什么它说它“不支持”,但似乎这可能不是这里所说的问题

此外,CUDA 版本:

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Thu_Jul_17_21:41:27_CDT_2014
Cuda compilation tools, release 6.5, V6.5.12

我能得到的任何帮助都会很棒。我整天都在这...

4

2 回答 2

1

我感觉到你的痛苦。我花了几天时间研究所有与 CUDA 相关的错误。

首先,更新到更新的驱动程序。例如,361。(清洁安装!)然后完全擦除硬盘驱动器中的 cuda 和 cudnn

sudo rm -rf /usr/local/cuda

或者你安装它的其他地方,然后安装 cuda 7.5(说真的,这个特定版本)和 cuDNN v4(同样,这个特定版本)

您可以运行以下命令来结算 CUDA。

wget http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run
bash cuda_7.5.18_linux.run --override

按照说明进行操作,当他们要求您安装 350 驱动程序时说“不”。你应该准备好了。

对于 cudnn,没有 wget 的直接链接,因此您必须从https://developer.nvidia.com/cudnn获取安装程序并运行以下命令:

tar xvzf cudnn-7.0-linux-x64-v4.0-prod.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-7.5/include
sudo cp -r cuda/lib64/. /usr/local/cuda-7.5/lib64

echo -e 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64"\nexport CUDA_HOME=/usr/local/cuda-7.5' >> ~/.bash_profile
source ~/.bash_profile

现在在 GPU 上处理 Theano:

nano ~/.theanorc

添加这些行:

[global]
floatX = float32
device = gpu0

如果您收到 nvcc 错误,请改为:

[global]
floatX = float32
device = gpu0
[nvcc]
flags=-D_FORCE_INLINES
于 2016-07-14T06:30:16.367 回答
0

我有同样的问题,并且能够通过做两件事来解决我的问题:

  • 安装 gcc-5 并将 /usr/bin/gcc 链接到 /usr/bin/gcc-5 以及 /usr/bin/g++ 到 /usr/bin/g++-5 (PS:我使用的是 cuda 8)
  • 将此标志 flags=-D_FORCE_INLINES 添加到 nvcc 下的文件 ~/.theanorc 因为显然 glibc 2.23 中的错误会导致此问题
于 2016-12-08T14:53:08.633 回答