L’installation de CUDA et cuDNN sur Ubuntu 22.04 est une étape essentielle pour utiliser efficacement les capacités du GPU dans l’entraînement des modèles de deep learning.
Suivez ce guide étape par étape pour configurer votre système.
1. Préparation du système
Avant toute chose, assurez-vous que votre système est à jour.
Ouvrez un terminal et exécutez les commandes suivantes :
sudo apt update
sudo apt upgrade
2. Vérification et installation du pilote NVIDIA
Vérifiez si les pilotes NVIDIA sont déjà installés :
nvidia-smi
Si ce n’est pas le cas ou en cas de problème, désinstallez les pilotes existants :
sudo apt autoremove nvidia* --purge
Ensuite, déterminez les pilotes disponibles pour votre matériel :
ubuntu-drivers devices
Allez dans “Pilote additionnels” et choisissez un pilote Nvidia propriétaire et testé, par exemple :
Utilisation de NVIDIA driver metapackage depuis nvidia-driver-535 (propriétaire, testé)
Appliquez les modifications et redémarrez votre système.
Après redémarrage, testez avec nvidia-smi
. En cas d’erreur, il peut être nécessaire de revenir temporairement au pilote Nouveau pour installer correctement le pilote Nvidia.
3. Installation de CUDA
Installez le toolkit CUDA :
sudo apt install nvidia-cuda-toolkit
Vérifiez la version installée :
nvcc --version
4. Installation de cuDNN
Consultez la documentation de TensorFlow pour déterminer la version compatible de cuDNN selon votre version de CUDA.
Téléchargez le paquet .deb
approprié.
Installez cuDNN avec les commandes suivantes :
sudo apt install ./<filename.deb>
sudo cp /var/cudnn-<something>.gpg /usr/share/keyrings/
Pour la version 8 de cuDNN, procédez comme suit :
sudo apt update
sudo apt install libcudnn8 libcudnn8-dev libcudnn8-samples
5. Configuration de l’environnement Python
Installez Python et l’environnement virtuel :
sudo apt install python3-venv
6. Installation de TensorFlow
Installez TensorFlow pour utiliser votre GPU.
Allez sur https://developer.nvidia.com/tensorrt/download/10x et telecharger la bonne version en fonction de votre OS et de la version de votre CUDA
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.2.0/local_repo/nv-tensorrt-local-repo-ubuntu2204-10.2.0-cuda-11.8_1.0-1_amd64.deb
Installez en local
sudo dpkg -i nv-tensorrt-local-repo-ubuntu2204-10.2.0-cuda-11.8_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-ubuntu2204-10.2.0-cuda-11.8/nv-tensorrt-local-012FC2A5-keyring.gpg /usr/share/keyrings/
Mettez a jour vos paquets
sudo apt-get update
Installez les dépendances, vous allez avoir des erreurs mais cela fonctionne
sudo apt-get install tensorrt
sudo apt-get install python3-libnvinfer-dev
sudo apt-get install uff-converter-tf
sudo apt-get install onnx-graphsurgeon
Mettez à jour les variables d’environnement en modifiant ~/.bashrc ou ~/.zshrc
nano ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
source ~/.bashrc
7. Tester l’installation GPU avec TensorFlow
Ouvrez un terminal Python ou votre environnement de développement préféré et exécutez le script suivant pour tester et afficher les dispositifs matériels disponibles, notamment le GPU :
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Ce code affichera une liste de tous les dispositifs disponibles. Pour un système configuré correctement avec un GPU Nvidia, vous devriez voir une sortie similaire à ceci :
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 674693318436146428
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 4189650944
locality {
bus_id: 1
links {
}
}
incarnation: 11973440331491022285
physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 2060, pci bus id: 0000:2b:00.0, compute capability: 7.5"
xla_global_id: 416903419
]
Pour des vérifications supplémentaires sur TensorFlow, ajoutez et exécutez ces lignes :
import tensorflow as tf
print("Is CUDA enabled GPU Available?", tf.config.list_physical_devices('GPU'))
print("GPU Number:", len(tf.config.list_physical_devices('GPU')))
print("GPU Type:", tf.test.gpu_device_name())
print("Is GPU Initialized yet?", tf.config.experimental.list_physical_devices('GPU'))
La sortie attendue si votre GPU est correctement configuré et accessible par TensorFlow devrait être :
Is CUDA enabled GPU Available? [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
GPU Number: 1
GPU Type: /device:GPU:0
Is GPU Initialized yet? [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
Pour tester tensorRT
import tensorrt as trt
print(trt.__version__)
Ces vérifications vous permettront de confirmer que votre environnement est bien configuré pour l’entraînement de modèles de deep learning en utilisant la puissance de calcul du GPU.