2016-07-14 2 views
2

В питона, после импорта Theano, я получаю следующее:Unknown CUDA Ошибка при импорте 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 и у меня есть старый ГПУ: GeForce GTX280

И мой водитель NVIDIA:

$ 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            | 
+-----------------------------------------------------------------------------+ 

Я не знаю, почему он говорит, что это «не поддерживается», но это, кажется, как будто это не может быть проблемой, как сказал here

Кроме того, версия 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 

Любая помощь я могу получить было бы удивительным. Я был на этом весь день ...

ответ

1

Я чувствую вашу боль. Я потратил несколько дней на вспашку всех ошибок, связанных с CUDA.

Во-первых, обновите новый драйвер. например, 361. (ЧИСТЫЙ УСТАНОВИТЬ ЕГО!) Затем полностью уничтожить и cudnn CUDA с вашего жесткого диска с

sudo rm -rf /usr/local/cuda 

или везде, где вы установили его, а затем установить 7.5 (CUDA серьезно, эта конкретная версия) и 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 

Теперь для обработки Theano на GPU:

nano ~/.theanorc 

добавьте следующие строки:

[global] 
floatX = float32 
device = gpu0 

Если вы получили ошибку nvcc, сделайте это так:

[global] 
floatX = float32 
device = gpu0 
[nvcc] 
flags=-D_FORCE_INLINES 
+0

Причина, по которой я использовал CUDA 6.5 и драйвер 340.96 что мой gpu не совместим с более поздними драйверами NVIDIA. В любом случае, я просто обновил аппаратное обеспечение (потому что было проще), а затем установил CUDA 7.5 – f34r51n

+0

. Добро пожаловать. – Wboy

0

У меня был тот же вопрос и был в состоянии решить мою проблему, делая две вещи:

  • Install НКУ-5 и сшивание/USR/бен/куб.см до/USR/бен/gcc- 5, а также/usr/bin/g ++ в/usr/bin/g ++ - 5 (PS: я использую cuda 8)
  • Добавление этого флага flags = -D_FORCE_INLINES в файл ~/.theanorc под nvcc, поскольку, по-видимому, ошибка в glibc 2.23 вызывает этот вопрос