52 votes

Comment installer les pilotes NVIDIA et CUDA dans Ubuntu ?

EDIT : J'ai ajouté une nouvelle réponse ci-dessous pour Ubuntu 20.04 LTS et CUDA 11.1.1. Voir ci-dessous.


J'ai un système avec une carte NVIDIA qui a un support de calcul de 3.5+ comparé à https://developer.nvidia.com/cuda-gpus . Comment installer CUDA et les pilotes NVIDIA dans Ubuntu sans télécharger les fichiers .deb de NVIDIA ?

89voto

Terrance Points 35422

Ubuntu 18.04, CUDA 10.1, libcudnn 7.5.1 et pilotes NVIDIA 418.67


Notes

  • 2021-01-07 : Veuillez utiliser l'installation 20.04 ci-dessous car les étapes sont les mêmes pour 18.04 et 20.04.

  • 2019-06-23 : Les mises à jour récentes avec les versions CUDA 10.0 ou 10.1, le pilote NVIDIA 418.67, qui s'installe avec, n'a plus les bibliothèques 32bit incluses, ce qui fera que Steam et la plupart des jeux ne fonctionneront plus. La version de libnvidia-gl-418:i386 n'installe que la version 418.56 qui ne fonctionnera pas avec le pilote 418.67. J'espère que NVIDIA publiera bientôt une mise à jour à ce sujet. J'ai ajouté l'information au bas de cette réponse dans la section .run file install Une partie de la façon de télécharger juste le fichier d'exécution pour l'installateur CUDA, puis vous pouvez utiliser n'importe quel pilote que vous voulez. Le fichier d'exécution a une taille de 2,3 Go, son téléchargement peut donc prendre un certain temps.

  • CUDA 9.x n'est pas disponible sur le repo ubuntu1804 de NVIDIA. J'ai cependant écrit une réponse pour CUDA 9.2 à l'adresse suivante https://askubuntu.com/a/1086993/231142


Installer CUDA via le référentiel (au lieu de l'application .deb installation)

Les lignes suivantes peuvent être copiées et collées dans une fenêtre de terminal. Appuyez sur Ctrl + Alt + T pour ouvrir une fenêtre de terminal.

Supprimer et mettre à jour

Supprimez tous les PPA CUDA qui peuvent être installés et supprimez également le fichier nvidia-cuda-toolkit s'il est installé :

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit

Il est recommandé de supprimer également tous les pilotes NVIDIA avant d'installer les nouveaux pilotes :

sudo apt remove --autoremove nvidia-*

Mettez ensuite le système à jour :

sudo apt update

Ajouter et installer

Récemment, j'ai découvert que l'installation de CUDA fonctionnait avec l'option graphics-drivers ppa donc si vous ne l'avez pas encore ajouté, ajoutez-le maintenant :

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

L'installation du pilote NVIDIA. Pour cela, nous allons utiliser le pilote 440

sudo apt install nvidia-driver-440

Maintenant, installez la clé :

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

Ajouter les dépôts :

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Mettez à nouveau le système à jour :

sudo apt update

Installer CUDA 10.1 :

sudo apt install cuda-10-1

Il devrait installer les pilotes NVIDIA 418.40 avec lui car ils sont listés dans le repo. Voir : http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

Installer libcudnn7 7.5.1 :

sudo apt install libcudnn7

Ajuster l'environnement et redémarrer

Ajoutez les lignes suivantes à votre ~/.profile pour CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Redémarrez votre ordinateur.

Vérifiez vos paramètres

Vérifier le compilateur NVIDIA Cuda avec nvcc --version :

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

Vérifier la version de libcudnn /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn :

terrance@terrance-ubuntu:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn.so.7 -> libcudnn.so.7.5.1

Vérifier le pilote NVIDIA avec nvidia-smi :

terrance@terrance-ubuntu:~$ nvidia-smi
Wed Jan 29 12:41:02 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.48.02    Driver Version: 440.48.02    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| 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 750 Ti  Off  | 00000000:02:00.0  On |                  N/A |
| 40%   34C    P0     1W /  38W |    163MiB /  2000MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1993      G   /usr/lib/xorg/Xorg                           158MiB |
|    0      2502      G   compton                                        1MiB |
+-----------------------------------------------------------------------------+

.run installation du fichier

Installer le pilote

En utilisant le sudo add-apt-repository ppa:graphics-drivers/ppa vous pouvez installer le 430.26 ou tout autre conducteur qui vous convient.

Installer libcudnn7

Ajouter le Repo :

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Installer la clé :

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

Mettre à jour le système :

sudo apt update

Installer libcudnn7.5.1 :

sudo apt install libcudnn7

Télécharger le .run fichier

Téléchargez maintenant le cuda_10.1.105_418.39_linux.run de https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

Si vous voulez CUDA 10.2, les instructions de téléchargement sont ici : https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal Ensuite, suivez les mêmes étapes que ci-dessous, mais assurez-vous de mettre à jour vers la version 10.2 au lieu de la version 10.1.

Exécutez ensuite le programme d'installation :

sudo sh cuda_10.1.105_418.39_linux.run

Tapez "accepter" et appuyez sur "Entrée" dans cet écran :

  End User License Agreement                                                  
  --------------------------                                                 

  Preface                                                                     
  -------                                                                     

  The Software License Agreement in Chapter 1 and the Supplement              
  in Chapter 2 contain license terms and conditions that govern               
  the use of NVIDIA software. By accepting this agreement, you                
  agree to comply with all the terms and conditions applicable                
  to the product(s) included herein.                                          

  NVIDIA Driver                                                               

  Description                                                                 

  This package contains the operating system driver and                       

 Do you accept the above EULA? (accept/decline/quit):                         
 accept                                                                       

Désélectionnez le pilote, puis choisissez Installer en utilisant les touches fléchées et la barre d'espacement pour vous déplacer et sélectionner ou désélectionner :

 CUDA Installer                                                               
 - [ ] Driver                                                                 
      [ ] 418.39                                                              
 + [X] CUDA Toolkit 10.1                                                      
   [X] CUDA Samples 10.1                                                      
   [X] CUDA Demo Suite 10.1                                                   
   [X] CUDA Documentation 10.1                                                
   Install                                                                    
   Options                                                                    

 Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options 

Attendez que l'installation se termine, il se peut qu'il y ait des erreurs pendant l'installation, mais ne vous inquiétez pas.

Ajuster l'environnement et redémarrer

Ajoutez les lignes suivantes à votre ~/.profile pour CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Redémarrez le système pour que les modifications soient prises en compte.

14voto

Terrance Points 35422

Ubuntu 20.04 LTS, CUDA 11.5.0, NVIDIA 495 et libcudnn 8.0.4


Je ne recommande pas d'installer les pilotes NVIDIA fournis avec CUDA, car ils ne contiennent pas les pilotes dkms qui sont pris en compte dans les nouvelles mises à jour du noyau.

Les dépôts d'Ubuntu contiennent maintenant les mêmes pilotes que les dépôts d'Ubuntu. graphics-drivers PPA. N'hésitez donc pas à installer le 495.44 conducteurs.

sudo apt install nvidia-driver-495

Redémarrez le système pour que le nouveau pilote prenne effet.

Téléchargez maintenant le fichier .run CUDA 11.5.0 de NVIDIA :

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run

Exécuter le .run en tant que sudo :

sudo sh ./cuda_11.5.0_495.29.05_linux.run

Si vous obtenez le résultat suivant, choisissez simplement Continue :

 Existing package manager installation of the driver found. It is strongly    
 recommended that you remove this before continuing.                          
 Abort                                                                        
 Continue                                                                     

Accepter le CLUF :

  End User License Agreement                                                  
  --------------------------                                                  

  NVIDIA Software License Agreement and CUDA Supplement to                    
  Software License Agreement. Last updated: October 8, 2021                   

  The CUDA Toolkit End User License Agreement applies to the                  
  NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA                    
  Display Driver, NVIDIA Nsight tools (Visual Studio Edition),                
  and the associated documentation on CUDA APIs, programming                  
  model and development tools. If you do not agree with the                   
  terms and conditions of the license agreement, then do not                  
  download or use the software.                                               

  Last updated: October 8, 2021.                                              

  Preface                                                                     
  -------                                                                     

 Do you accept the above EULA? (accept/decline/quit):                         
 accept                                                                       

Désélectionnez le pilote vidéo en appuyant sur la barre d'espacement tout en appuyant sur la touche [X] Driver est mis en évidence :

 CUDA Installer                                                               
 - [ ] Driver                                                                 
      [ ] 495.29.05                                                           
 + [X] CUDA Toolkit 11.5                                                      
   [X] CUDA Samples 11.5                                                      
   [X] CUDA Demo Suite 11.5                                                   
   [X] CUDA Documentation 11.5                                                
   Options                                                                    
   Install                                                                    

 Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options 

Appuyez ensuite sur la flèche vers le bas jusqu'à Install . Appuyez sur Enter puis attendez la fin de l'installation.

Une fois l'installation terminée, ajoutez ce qui suit au bas de votre page d'accueil ~/.profile ou l'ajouter au /etc/profile.d/cuda.sh que vous devrez peut-être créer pour tous les utilisateurs (global) :

# set PATH for cuda 11.5 installation
if [ -d "/usr/local/cuda-11.5/bin/" ]; then
    export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Installer libcudnn8

Ajouter le Repo :

NOTA : Le repo 20.04 de NVIDIA ne fournit pas libcudnn mais le repo 18.04 le fait et s'installe très bien dans 20.04.

echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda_learn.list

Installer la clé :

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

Mettre à jour le système :

sudo apt update

Installer libcudnn 8.0.4 :

sudo apt install libcudnn8

Je recommande maintenant de redémarrer le système pour que les modifications soient prises en compte.

Après le redémarrage, vérifiez les installations :

~$ nvidia-smi
Thu Nov 18 07:31:31 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 40%   38C    P8     1W /  38W |    310MiB /  2000MiB |      4%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI       PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2091      G   /usr/lib/xorg/Xorg                 46MiB |
|    0   N/A  N/A      2680      G   /usr/lib/xorg/Xorg                163MiB |
|    0   N/A  N/A      2906      G   compton                             1MiB |
|    0   N/A  N/A      3262      G   /opt/waterfox/waterfox             85MiB |
+-----------------------------------------------------------------------------+

et vérifiez l'installation de CUDA :

~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Sep_13_19:13:29_PDT_2021
Cuda compilation tools, release 11.5, V11.5.50
Build cuda_11.5.r11.5/compiler.30411180_0

et vérifier l'installation de libcudnn :

~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.4
    libcudnn.so.8 -> libcudnn.so.8.0.4
    libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.4
    libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.4
    libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.4
    libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.0.4
    libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.4

1voto

Eric Canton Points 121

Je veux juste ajouter une solution alternative qui s'avère beaucoup plus facile et modulaire, IMHO : utiliser les images CUDA docker de Nvidia !

Cela nécessite un pilote (propriétaire) fonctionnel sur la machine hôte, qui peut être installé à partir des dépôts Ubuntu ( nvidia-driver-470 est la dernière version de pilote prise en charge pour CUDA compute 3.5).

  1. sudo apt install nvidia-driver-470

  2. Installer Docker et nvidia-docker2 . Voir ce guide de Nvidia ; si vous utilisez Ubuntu 21+, vous devrez remplacer $distribution con ubuntu2004 en cette étape .

  3. Trouvez l'image CUDA docker que vous voulez sur Page DockerHub de Nvidia ; par exemple, si vous voulez CUDA 11.4.2 et cuDNN 8, vous pouvez exécuter

    $ docker pull nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04
  4. Lancez maintenant un conteneur à partir de cette image, en y attachant vos GPU :

    $ docker run -it --rm --gpus all nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04

    Vous devez vérifier que le conteneur peut voir votre GPU en exécutant la commande suivante nvidia-smi qui affichera le même résultat que celui obtenu en exécutant la commande nvidia-smi PAS dans Docker.

0voto

BarzanHayati Points 105

Ne commettez pas d'erreur.

Téléchargez le fichier .deb une fois pour toutes.

J'ai téléchargé le fichier .run et je l'ai installé. Mais lorsque j'ai essayé d'installer tensorrt, il s'est avéré qu'il ne pouvait pas être installé avec lui.

Je n'ai pu l'installer qu'après l'installation d'un pilote nvidia .deb.

0voto

MikeL Points 181

Pour tous ceux qui travaillent avec l'AMI de base d'apprentissage profond d'AWS :
L'image est livrée avec plusieurs environnements NVIDIA CUDA intégrés et fonctionne par défaut avec l'un d'entre eux (dans mon cas 10), mais vous pouvez passer à n'importe quel autre, simplement en changeant le lien symbolique :

$ sudo rm /usr/local/cuda
$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda

Plus d'informations :
https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-base.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X