Pour TensorFlow, je voudrais installer CUDA. Comment puis-je le faire sur Ubuntu 16.04 ?
Réponses
Trop de publicités?Installer CUDA pour Ubuntu
Il existe un Guide d'installation de Linux . Cependant, il ne s'agit essentiellement que de ces étapes :
-
Télécharger CUDA : J'ai utilisé la version 15.04 et "runfile (local)". Cela représente 1,1 Go.
-
Vérifiez la somme md5 :
md5sum cuda_7.5.18_linux.run
. Ne continuez que si c'est correct. -
Retirez toute autre installation (
sudo apt-get purge nvidia-cuda*
- si vous voulez installer les pilotes aussi, alorssudo apt-get purge nvidia-*
.)- Si vous voulez installer les pilotes d'écran (*) , déconnectez-vous de votre interface graphique. Passez à une session de terminal ( ctrl + alt + F2 )
- Arrêtez la lumière :
sudo service lightdm stop
-
Créez un fichier à
/etc/modprobe.d/blacklist-nouveau.conf
avec le contenu suivant :blacklist nouveau options nouveau modeset=0
-
Alors, faites-le :
sudo update-initramfs -u
-
sudo sh cuda_7.5.18_linux.run --override
. Assurez-vous que vous ditesy
pour le lien symbolique. -
Redémarrez Lightdm :
sudo service lightdm start
-
Suivez les invites de la ligne de commande
Voir aussi : NVIDIA CUDA avec Ubuntu 16.04 beta sur un ordinateur portable (si vous ne pouvez pas attendre)
Notas : Oui, il y a la possibilité de l'installer par l'intermédiaire de apt-get install cuda
. Je suggère fortement de ne pas l'utiliser, car il modifie les chemins et rend l'installation d'autres outils plus difficile.
Vous pourriez également être intéressé par Comment installer CuDNN sur Ubuntu 16.04 ? .
* : N'installez pas les pilotes d'affichage avec ce script. Ils sont vieux. Téléchargez les plus récents à partir de http://www.nvidia.com/Download/index.aspx
Vérifier l'installation de CUDA
La commande suivante indique la version actuelle de CUDA (dernière ligne) :
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44
La commande suivante indique la version de votre pilote et la quantité de mémoire GPU dont vous disposez :
$ nvidia-smi
Fri Jan 20 12:19:04 2017
+-----------------------------------------------------------------------------+
| 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 940MX Off | 0000:02:00.0 Off | N/A |
| N/A 75C P0 N/A / N/A | 1981MiB / 2002MiB | 98% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1156 G /usr/lib/xorg/Xorg 246MiB |
| 0 3198 G ...m,SecurityWarningIconUpdate<SecurityWarni 222MiB |
| 0 6645 C python 1510MiB |
+-----------------------------------------------------------------------------+
Voir aussi : Vérifier l'installation de CuDNN
Aidez-nous ! Le nouveau pilote ne fonctionne pas !
Ne paniquez pas. Même si vous ne voyez rien sur votre ordinateur, les étapes suivantes devraient vous permettre de retrouver l'état antérieur :
- Appuyez sur shift pendant le démarrage
- Allez dans un Shell racine.
- Rendez-le accessible en écriture en exécutant
mount -o remount,rw /
(-
es?
y/
es-
dans la disposition américaine) sh cuda_7.5.18_linux.run --uninstall
sudo apt-get install nvidia-361 nvidia-common nvidia-prime nvidia-settings
Pilotes graphiques
L'installation des pilotes graphiques est un peu délicate. Elle doit être effectuée sans support graphique.
- Déconnectez-vous de votre session X actuelle.
- Ctrl + Alt + F4 (vous pouvez revenir en arrière avec Ctrl + Alt + F7 )
- Vous devez supprimer tous les autres pilotes avant.
- Recherchez-les via
dpkg -l | grep -i nvidia
- Les supprimer via
sudo apt-get remove --purge nvidia-WHATEVER
- Stop lightdm via
sudo service lightdm stop
- Vous pourriez avoir besoin de
reboot
votre pc / liste noire du nouveau pilote ( Cours d'allemand )
J'ai essayé d'installer à plusieurs reprises via le fichier .run, mais une erreur s'est toujours glissée et j'ai soit rencontré une boucle de connexion, soit perdu complètement l'affichage. Je recommande donc d'utiliser le fichier .deb et de ne pas jouer avec le gestionnaire d'affichage.
Guide d'installation de NVIDIA CUDA pour Linux est un excellent lien qui énumère les détails complets. Assurez-vous de suivre chaque étape comme il est donné.
Pour installer le pilote Nvidia, vous pouvez procéder comme suit :
-
Dans Ubuntu Recherche dans votre ordinateur menu dans le coin supérieur gauche recherche Pilotes supplémentaires (Vous pouvez aussi faire Paramètres système > Logiciels et mises à jour > Pilotes supplémentaires )
-
Dans le menu qui apparaît, sélectionnez l'un des pilotes Nvidia et cliquez sur Appliquer les changements . (Cette étape utilise l'Internet. Si cela ne fonctionne toujours pas, votre serveur proxy peut bloquer le téléchargement.)
-
Redémarrez votre système.
-
Ouvrez une fenêtre de terminal et tapez
nvidia-smi
. Si votre pilote a été installé correctement, vous devriez voir quelque chose comme :+------------------------------------------------------+
| NVIDIA-SMI 3.295.41 Driver Version: 295.41 |
|-------------------------------+----------------------+----------------------+ | Nb. Name | Bus Id Disp. | Volatile ECC SB / DB | | Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. | |===============================+======================+======================| | 0. Tesla C2050 | 0000:05:00.0 On | 0 0 | | 30% 62 C P0 N/A / N/A | 3% 70MB / 2687MB | 44% Default | |-------------------------------+----------------------+----------------------| | Compute processes: GPU Memory | | GPU PID Process name Usage | |=============================================================================| | 0. 7336 ./align 61MB | +-----------------------------------------------------------------------------+
Vous pouvez maintenant installer facilement CUDA en suivant le lien précédent. En bref :
sudo apt-get install linux-headers-$(uname -r)
Télécharger un kit d'outils d'ici et ensuite installer le .deb
(remplacez le nom en conséquence)
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
puis courir :
sudo apt-get update
sudo apt-get install cuda
J'ai également essayé différentes approches afin d'installer Cuda 8.0 dans Ubuntu 16.04. Finalement, ce sont les étapes suivantes qui ont fait l'affaire. J'ai suivi ce tutoriel et mis à jour les étapes corrigées comme suit.
-
Mettre à jour le système
apt-get update && apt-get upgrade
-
Télécharger VirtualGL et l'installer. Pour installer
dpkg -i virtualgl*.deb
-
Télécharger et installer CUDA 8.0 et l'installer. Je vous suggère de le faire par internet. Comme ceci,
-
Installez les dépendances requises.
apt-get install linux-headers-$(uname -r) apt-get install freeglut3-dev libxmu-dev libpcap-dev
-
Mettez à jour le PATH du système dans le fichier .bashrc qui se trouve dans le répertoire personnel. Veuillez noter que si vous installez ces choses dans un autre emplacement, veuillez mettre à jour le chemin en fonction de celui-ci.
export PATH=$PATH:/opt/VirtualGL/bin export PATH=$PATH:/usr/local/cuda/bin
-
Installez bumblebee-nvidia et primus.
apt-get install bumblebee-nvidia primus
-
Modifiez le fichier de configuration de bumblebee pour que bumblebee sache que nous utilisons le pilote NVIDIA. Veuillez mettre à jour le chemin d'accès en fonction de votre système. Voici une vue de référence qui vous aidera.
sudo nano +22 /etc/bumblebee/bumblebee.conf
Ajouter :
[bumblebeed] ServerGroup=bumblebee TurnCardOffAtExit=false NoEcoModeOverride=false Driver=nvidia XorgConfDir=/etc/bumblebee/xorg.conf.d Bridge=auto PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus AllowFallbackToIGC=false Driver=nvidia [driver-nvidia] KernelDriver=nvidia PMMethod=auto LibraryPath=/usr/lib/nvidia-367:/usr/lib32/nvidia-367 XorgModulePath=/usr/lib/xorg,/usr/lib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia Driver=nouveau [driver-nouveau] KernelDriver=nouveau PMMethod=auto XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
-
Exécutez le programme suivant et enregistrez l'adresse PCI de votre carte vidéo.
$ lspci | egrep 'VGA|3D' 00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02) 01:00.0 3D controller: NVIDIA Corporation Device 179c (rev a2)
-
Editez le fichier xorg.conf.nvidia pour qu'il connaisse l'adresse PCI (01:00.0 pour moi) de votre carte vidéo. Mettez à jour l'adresse PIC comme ci-dessous dans la section "ServerLayout".
sudo nano /etc/bumblebee/xorg.conf.nvidia
Ajouter :
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "false" Option "AutoAddGPU" "false" BusID "PCI:01:00.0"
-
Redémarrez le système et amusez-vous à exécuter quelques exemples de codes.
sudo shutdown -r now
Il s'agit d'une réponse très longue car j'ai vissé mon ordinateur portable plusieurs fois pendant que je l'écrivais. Cependant, je préfère la garder longue car elle peut être utile à d'autres personnes aussi ;) La meilleure partie de ma réponse commence à partir de Edited-Updated
Donc, j'ai lu toutes les réponses ici et ailleurs, je ne sais pas pourquoi, mais chacune d'entre elles me pose un problème :(
Après 4 jours de réinstallation de Linux dans les deux sens, voici la méthode qui a fonctionné pour moi.
Avant de passer à la procédure principale, je voudrais mentionner une méthode alternative.
méthode alternative si vous utilisez un ordinateur portable :
Ainsi, vous pouvez basculer entre votre gpu nvidia et votre gpu intel sur votre ordinateur portable en utilisant
sudo prime-select intel
sudo prime-select nvidia
En d'autres termes, vous pouvez passer à intel et installer nvidia et revenir à intel pour les usages normaux et quand vous voulez utiliser l'apprentissage profond passer à nvidia.
De toute façon,
Laissez-moi vous parler de la méthode principale qui a finalement fonctionné pour moi (les informations ici sont principalement tirées de Lien ) :
Suppression et purge de tous les trucs nvidia/cuda existants :
sudo apt-get remove --purge nvidia-*
sudo apt-get purge nvidia-cuda*
sudo apt-get purge nvidia-*
sudo /usr/bin/nvidia-uninstall
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
sudo rm -rf /etc/modprobe.d/blacklist-nouveau.conf
Ensuite, nous mettons tout à jour :
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot
Maintenant, il y aurait une possibilité que vous ne puissiez pas vous connecter et que vous soyez bloqué dans la boucle...
Pas d'inquiétude, j'y ai fait face plus de 50 fois...
presse ctr+alt+F2
tapez votre nom d'utilisateur et votre mot de passe
Maintenant, tapez ceci :
sudo service lightdm stop
Facultatif, certaines personnes ont aussi besoin de taper ça, honnêtement je ne sais pas à quoi ça sert : sudo init 3
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
ajouter
blacklist nouveau
options nouveau modeset=0
et l'enregistrer, puis quitter.
Puis tapez :
sudo update-initramfs -u
allez dans le fichier où vous avez le fichier cuda .run et tapez :
sudo sh cuda_8.0_linux.run --override
sudo service lightdm start
sudo reboot
Donc, si vous avez de la chance, vous devriez pouvoir vous connecter maintenant. Comme vous pouvez le deviner, je n'ai pas eu de chance, et je n'ai toujours pas pu me connecter sur ****. J'ai donc dû appuyer sur ctr+Alt+F2
à nouveau et faites ce qui suit :
sudo ubuntu-drivers autoinstall
sudo reboot
Maintenant, je peux enfin me connecter.
C'est maintenant le moment de définir les chemins et de vérifier les installations.
type :
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
nvidia-smi
nvcc -V
il devrait vous montrer que vous avez cuda 8.
Aussi, juste au cas où, vous pouvez aussi faire ça :
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
gedit ~/.bashrc
ajoutez-les à la fin :
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH
Sauvegardez et quittez gedit. Tapez :
sudo ldconfig /usr/local/cuda-8.0/lib64
Une question pour les personnes qui en savent plus que moi :
Tout semble fonctionner, mais lorsque j'éteins/redémarre mon système pendant quelques secondes, il indique
Tout semble fonctionner, mais lorsque j'éteins/redémarre mon système pendant quelques secondes, il indique "Échec du démarrage de Load Kernel Modules" J'ai essayé ça poste mais cela n'aide pas, s'il vous plaît laissez-moi savoir si vous savez comment le réparer.
----------------
Edited-Updated
Devinez quoi, j'ai encore merdé.
Mais cette fois, j'ai trouvé une solution beaucoup plus simple. Et voici le point principal : Parfois, nous devons dire NON
Voici ce qui fonctionne vraiment bien pour moi. Après avoir purgé et supprimé tout et sudo reboot faire ceci :
sudo ubuntu-drivers autoinstall
sudo reboot
presse ctr+alt+F2
tapez votre nom d'utilisateur et votre mot de passe
Maintenant, tapez ceci :
sudo service lightdm stop
sudo sh cuda_8.0_linux.run
IMPORTANT : pendant l'installation, la première question demande de réinstaller à nouveau le pilote, SAY NO to this mother f**** question Dites oui au reste d'entre eux cependant :D après avoir terminé.
sudo service lightdm start
press `alt+ctr+F7`
connectez-vous à votre cher PC
Est-ce que ça a marché ? Bienvenue :)
J'ai réussi à le faire fonctionner après avoir lu plusieurs messages : J'avais déjà une carte ATI dans l'ordinateur qui s'est avérée très utile. J'ai installé la GTX 1070 à côté de l'ATI et j'ai commencé à installer Kubuntu 16.04. Seul l'écran connecté à la carte ATI avait une image au départ, ce qui m'a permis d'installer le pilote NVIDIA-Linux-x86_64-367.27.run téléchargé sur le site du vendeur. Pour installer CUDA, j'ai téléchargé le fichier cuda_7.5.18_linux.run. J'ai installé le cuda toolkit en utilisant deux interrupteurs :
cuda_7.5.18_linux.run --silent --toolkit
Les échantillons de cuda peuvent également être installés à partir du fichier .run. Un problème était que cuda n'aime pas gcc5. J'ai donc fait sudo apt-get install gcc-4.8
et ensuite changé le gcc par défaut pour cette version par :
cd /usr/bin/
sudo unlink gcc
sudo ln -s gcc4.8 gcc
sudo unlink g++
sudo ln -s g++-4.8 g++
J'ai remplacé gcc par gcc5 après l'installation de cuda. La compilation des échantillons de cuda doit aussi être faite avec gcc4.8, gcc4.9 pourrait fonctionner mais je ne l'ai pas essayé.
- Réponses précédentes
- Plus de réponses