2016-07-14 1 views
2

En python, après avoir importé Théano, je reçois le texte suivant:Erreur inconnue lors de l'importation CUDA Théano

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) 

Je suis en cela sur ubuntu 14.04 et j'ai un vieux gpu: GeForce GTX280

Et mon chauffeur 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            | 
+-----------------------------------------------------------------------------+ 

Je ne sais pas pourquoi il a dit qu'il est « non pris en charge », mais il semble que cela pourrait ne pas être un problème comme l'a dit here

En outre, la version 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 

Toute aide que je peux obtenir serait génial. J'ai été à ce toute la journée ...

Répondre

1

Je ressens votre douleur. J'ai passé quelques jours à labourer toutes les erreurs liées à CUDA.

Tout d'abord, mettez à jour vers un pilote plus récent. par exemple, 361. (installation propre IT!) Puis complètement essuyer cuda et cudnn de votre disque dur avec

sudo rm -rf /usr/local/cuda 

ou partout où vous l'avez installé, puis installez cuda 7.5 (sérieusement, cette version spécifique) et cuDNN v4 (encore une fois , cette version spécifique)

Vous pouvez exécuter les commandes suivantes pour régler 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 

Suivez les instructions, dire non quand on vous demande d'installer le pilote 350. Et vous devriez être fixé.

Pour cudnn, il n'y a pas de lien direct vers wget, de sorte que vous devez obtenir le programme d'installation de https://developer.nvidia.com/cudnn et exécutez les commandes suivantes:

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 

Maintenant, pour gérer Théano sur GPU:

nano ~/.theanorc 

ajoutez ces lignes:

[global] 
floatX = float32 
device = gpu0 

Si vous obtenez une erreur nvcc, faites-le plutôt:

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

La raison pour laquelle j'utilisais CUDA 6.5 et pilote 340.96 était que mon GPU n'est pas compatible avec les derniers pilotes NVIDIA. Quoi qu'il en soit, je viens de mettre à jour le matériel (parce que c'était plus facile) et ensuite installé CUDA 7.5 – f34r51n

+0

De rien. – Wboy

0

J'ai eu le même problème et a pu résoudre mon problème en faisant deux choses:

  • gcc-5 Installation et liaison/usr/bin/gcc/usr/bin/GCC- 5 ainsi que/usr/bin/g ++ à/usr/bin/g ++ - 5 (PS: j'utilise cuda 8)
  • Ajout de ce drapeau flags = -D_FORCE_INLINES au fichier ~/.theanorc sous nvcc car apparemment un bug dans la glibc 2.23 provoque ce problème