Comment utiliser le GPU NVIDIA dans les conteneurs Docker sur Ubuntu 22.04 LTS

Comment Utiliser Le Gpu Nvidia Dans Les Conteneurs Docker Sur Ubuntu 22 04 Lts



Vous pouvez passer votre GPU NVIDIA dans des conteneurs Docker et exécuter des programmes CUDA sur votre GPU NVIDIA à partir de ces conteneurs Docker. C'est une fonctionnalité très utile pour l'apprentissage de l'IA (Intelligence Artificielle). Pouvoir exécuter des codes AI (c'est-à-dire Tensorflow) sur des conteneurs Docker vous fera gagner beaucoup de temps. Vous pouvez également essayer vos codes AI sur différentes versions de CUDA sans avoir à changer la version de CUDA sur votre ordinateur.

Jouer avec les pilotes NVIDIA et les versions CUDA sur votre ordinateur peut entraîner des problèmes tels que les pilotes NVIDIA ne fonctionnent pas ou vous laissent avec un écran noir/bleu de la mort. C'est donc toujours une bonne idée de laisser votre système tel quel et d'apporter des modifications dans un environnement isolé comme les conteneurs Docker. Cela permet de garder votre ordinateur principal propre (des outils de développement inutiles).







Dans cet article, je vais vous montrer comment configurer Docker CE et NVIDIA docker sur Ubuntu 22.04 LTS afin que vous puissiez accéder au GPU NVIDIA de votre ordinateur à partir de conteneurs Docker et exécuter des programmes CUDA sur votre GPU NVIDIA.



Table des matières:

  1. Vérifier si les pilotes GPU NVIDIA officiels sont installés sur Ubuntu 22.04
  2. Installation des dépendances Docker CE sur Ubuntu 22.04
  3. Installation des clés Docker CE GPG sur Ubuntu 22.04
  4. Installation du référentiel Docker CE sur Ubuntu 22.04
  5. Installation de Docker CE sur Ubuntu 22.04
  6. Ajout de l'utilisateur de connexion Ubuntu 22.04 LTS au groupe docker
  7. Vérifier si Docker CE a été installé correctement sur Ubuntu 22.04
  8. Installation des clés GPG de NVIDIA Container Toolkit sur Ubuntu 22.04
  9. Installation du référentiel NVIDIA Container Toolkit sur Ubuntu 22.04
  10. Installation des pilotes nvidia-docker sur Ubuntu 22.04
  11. Vérifier si le GPU NVIDIA est accessible à partir des conteneurs Docker dans Ubuntu 22.04
  12. Conclusion
  13. Les références

Vérifier si les pilotes GPU NVIDIA officiels sont installés sur Ubuntu 22.04 LTS :

Avant de commencer, exécutez la commande suivante pour vérifier qu'un GPU NVIDIA est installé sur votre ordinateur.



$ lspci | égrep -je 'vga|3d|affichage'





Dans ce cas, j'ai installé le GPU NVIDIA GTX 1050 Ti sur mon ordinateur. Vous aurez très probablement un autre GPU NVIDIA installé sur votre ordinateur.


Assurez-vous également que les pilotes NVIDIA officiels sont installés sur votre système d'exploitation Ubuntu 22.04 avec la commande suivante :



$ lsmod | poignée nvidia

Si les pilotes NVIDIA officiels sont installés sur votre système d'exploitation Ubuntu 22.04, vous verrez les sorties suivantes.


Vérifiez également si les pilotes officiels du GPU NVIDIA fonctionnent avec la commande suivante :

$ nvidia-smi

Si les pilotes GPU NVIDIA officiels fonctionnent, vous verrez les sorties suivantes. Comme vous pouvez le voir, j'ai la version officielle du pilote NVIDIA GPU 525.78.01 installée sur ma machine Ubuntu 22.04.


Si vous n'avez pas les pilotes GPU NVIDIA officiels installés sur votre machine Ubuntu 22.04 et que vous avez besoin d'aide pour cela, veuillez consulter l'article .

Installation des dépendances Docker CE sur Ubuntu 22.04 LTS :

Avant de pouvoir installer Docker CE sur Ubuntu 22.04, vous devrez installer les packages de dépendance Docker CE requis sur Ubuntu 22.04.

Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :

$ sudo mise à jour appropriée

Le cache du référentiel de packages APT doit être mis à jour.


Pour installer les packages de dépendance requis de Docker CE, exécutez la commande suivante :

$ sudo apt-get install certificats ca curl gnupg lsb-release

Pour confirmer l'installation, appuyez sur ET puis appuyez sur .


Les packages de dépendance Docker CE requis doivent être installés.

Installation des clés Docker CE GPG sur Ubuntu 22.04 LTS :

Dans cette section, je vais vous montrer comment installer la clé GPG du référentiel de packages Docker CE sur Ubuntu 22.04.

Tout d'abord, créez un nouveau dossier /etc/apt/porte-clés avec la commande suivante :

$ sudo mkdir -p / etc. / apte / porte-clés

Pour installer la clé GPG du référentiel de packages Docker CE sur Ubuntu 22.04, exécutez la commande suivante :

$ boucle -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --dearmor -O / etc. / apte / porte-clés / docker.gpg

Installation du référentiel Docker CE sur Ubuntu 22.04 LTS :

Pour installer le référentiel de packages Docker CE sur Ubuntu 22.04, exécutez la commande suivante :

$ écho 'deb [arch= $(dpkg --print-architecture) signé-par=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) écurie' | sudo tee / etc. / apte / sources.list.d / docker.list > / développeur / nul

Mettez à jour le cache du référentiel de packages APT pour que les modifications prennent effet.

$ sudo mise à jour appropriée


Installation de Docker CE sur Ubuntu 22.04 LTS :

Pour installer la dernière version de Docker CE sur Ubuntu 22.04, exécutez la commande suivante :

$ sudo apt-get install docker-ce docker-ce-cli conteneurd.io docker-compose-plugin

Pour confirmer l'installation, appuyez sur ET puis appuyez sur .


Docker CE et les packages de dépendance requis sont en cours de téléchargement. Il faudra un certain temps pour terminer.


Docker CE et les packages de dépendance requis sont en cours d'installation. Il faudra un certain temps pour terminer.


Docker CE et les packages de dépendance requis doivent être installés à ce stade.

Ajout de l'utilisateur de connexion Ubuntu 22.04 LTS au groupe docker :

Pour créer des conteneurs Docker et les gérer sans utiliser sudo ou connecté en tant qu'utilisateur root, vous devrez ajouter votre utilisateur de connexion au docker groupe.

Pour ajouter l'utilisateur de connexion de votre Ubuntu 22.04 au docker groupe, exécutez la commande suivante :

$ sudo mod utilisateur -aG docker $ ( qui suis je )

Pour que les modifications prennent effet, redémarrez votre ordinateur avec la commande suivante :

$ sudo redémarrer

Vérifier si Docker CE a été installé correctement sur Ubuntu 22.04 LTS :

Une fois votre ordinateur démarré, exécutez la commande suivante pour vérifier que vous pouvez accéder à Docker sans les privilèges de superutilisateur.

$ version docker

Si tout fonctionne, vous devriez voir les sorties suivantes.

Comme vous pouvez le voir, j'utilise Docker version 20.10.23 - la dernière version de Docker CE au moment d'écrire ces lignes.

Installation des clés GPG de NVIDIA Container Toolkit sur Ubuntu 22.04 :

Dans cette section, je vais vous montrer comment installer la clé GPG du référentiel de packages NVIDIA Container Toolkit sur Ubuntu 22.04.

Pour installer la clé GPG du référentiel de packages NVIDIA Container Toolkit sur Ubuntu 22.04, exécutez la commande suivante :

$ boucle -fsSL https: // nvidia.github.io / libnvidia-container / gpgkey | sudo gpg --dearmor -O / usr / partager / porte-clés / nvidia-container-toolkit-keyring.gpg

Installation du référentiel NVIDIA Container Toolkit sur Ubuntu 22.04 LTS :

Dans cette section, je vais vous montrer comment installer le référentiel de packages NVIDIA Container Toolkit sur Ubuntu 22.04.

Tout d'abord, créez un nouveau fichier source APT nvidia-container-toolkit.list dans le /etc/apt/sources.list.d/ répertoire comme suit :

$ sudo nano / etc. / apte / sources.list.d / nvidia-container-toolkit.list

Dans le nvidia-container-toolkit.list fichier, ajoutez la ligne suivante et appuyez sur + X suivie par ET et pour enregistrer le fichier.

ce [ signé par = / usr / partager / porte-clés / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / écurie / gratuit22.04 / $ ( CAMBRE ) /



Si vous utilisez Ubuntu 20.04 LTS, il vous suffit d'ajouter la ligne suivante dans le nvidia-container-toolkit.list fichier à la place et tout le reste devrait fonctionner sans changement.

ce [ signé par = / usr / partager / porte-clés / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / écurie / gratuit20.04 / $ ( CAMBRE ) /


Si vous utilisez Ubuntu 18.04 LTS, il vous suffit d'ajouter la ligne suivante dans le nvidia-container-toolkit.list fichier à la place et tout le reste devrait fonctionner sans changement.

ce [ signé par = / usr / partager / porte-clés / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / écurie / libre18.04 / $ ( CAMBRE ) /


Pour que les modifications prennent effet, mettez à jour le cache du référentiel de packages APT avec la commande suivante :

$ sudo mise à jour appropriée


Installation des pilotes nvidia-docker sur Ubuntu 22.04 LTS :

Pour installer les pilotes NVIDIA Docker sur Ubuntu 22.04, exécutez la commande suivante :

$ sudo apte installer nvidia-docker2

Pour confirmer l'installation, appuyez sur ET puis appuyez sur .


Les pilotes du docker NVIDIA doivent être installés.


Pour que les modifications prennent effet, redémarrez votre ordinateur avec la commande suivante :

$ sudo redémarrer

Vérifier si le GPU NVIDIA est accessible à partir des conteneurs Docker dans Ubuntu 22.04 LTS :

Dans cette section, je vais vous montrer comment créer un Conteneur NVIDIA CUDA Docker et vérifiez que le conteneur peut accéder au GPU NVIDIA depuis votre ordinateur.

Pour créer un conteneur NVIDIA CUDA 12 Docker basé sur Ubuntu 20.04 LTS et exécuter le nvidia-smi une fois qu'il est créé pour vérifier s'il peut accéder au GPU NVIDIA depuis votre ordinateur, exécutez la commande suivante :

$ course de docker --rm --gpus tout nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker tire le nvidia/cuda:12.0.0-base-ubuntu20.04 image de Docker Hub. Il faudra un certain temps pour terminer.


Une fois l'image docker NVIDIA CUDA extraite et un conteneur créé, le nvidia-smi La commande s'exécutera dessus et imprimera la sortie sur la console comme vous pouvez le voir dans la capture d'écran ci-dessous.

Le conteneur Docker utilise le Pilote GPU NVIDIA 525.78.01 [1] et le CUDA version 12.0 [2] . Si vous voyez des sorties similaires, le conteneur Docker peut accéder au GPU NVIDIA de votre ordinateur.


Si vous devez utiliser des versions plus anciennes de CUDA, vérifiez .

Conclusion:

Dans cet article, je vous ai montré comment configurer le référentiel de packages Docker CE sur Ubuntu 22.04. Je vous ai également montré comment installer la dernière version de Docker CE sur Ubuntu 22.04. Je vous ai montré comment installer le référentiel de packages NVIDIA Container Toolkit sur Ubuntu 22.04 ainsi que comment installer le pilote NVIDIA Docker sur Ubuntu 22.04. Enfin, je vous ai montré comment accéder au GPU NVIDIA de votre ordinateur depuis un conteneur Docker.

Les références: