Comment utiliser le GPU Nvidia dans les conteneurs Docker sur Debian Top 10

Comment utiliser le GPU Nvidia dans les conteneurs Docker sur Debian Top 10
Vous pouvez passer votre GPU Nvidia dans les conteneurs Docker et exécuter les programmes CUDA sur votre GPU Nvidia à partir de ces conteneurs Docker. Ceci est une fonctionnalité très utile pour apprendre l'IA (intelligence artificielle). Pouvoir ruan les codes AI (je.e. TensorFlow) sur les conteneurs Docker vous fera gagner beaucoup de temps. Vous pouvez également essayer vos codes AI sur différentes versions CUDA sans avoir besoin de modifier la version CUDA sur votre ordinateur.

Tiver avec les pilotes Nvidia et les versions CUDA sur votre ordinateur peut causer des problèmes comme les pilotes Nvidia ne fonctionnent pas ou ne vous laissent pas avec un écran noir / bleu de la mort. C'est toujours une bonne idée de quitter votre système tel quel et d'apporter des modifications dans un environnement isolé comme les conteneurs Docker. Cela maintient votre ordinateur principal propre (des outils de développement inutiles).

Dans cet article, nous vous montrerons comment installer le Docker CE et Nvidia Docker sur Debian 11 afin que vous puissiez accéder au GPU NVIDIA de votre ordinateur à partir des conteneurs Docker et exécuter les programmes CUDA sur votre GPU NVIDIA.

Table des matières:

  1. Vérification si les pilotes officiels du GPU NVIDIA sont installés sur Debian 11
  2. Installation des dépendances Docker CE sur Debian 11
  3. Installation des clés Docker CE GPG sur Debian 11
  4. Installation du référentiel Docker CE sur Debian 11
  5. Installation du Docker CE sur Debian 11
  6. Ajout de l'utilisateur de la connexion Debian 11 au groupe Docker
  7. Vérification si le Docker CE est correctement installé sur Debian 11
  8. Installation de la boîte à outils Nvidia Container GPG Keys sur Debian 11
  9. Installation du référentiel Nvidia Container Toolkit sur Debian 11
  10. Installation des pilotes Nvidia-Docker sur Debian 11
  11. Vérifier si le GPU Nvidia est accessible à partir des conteneurs Docker sur Debian 11
  12. Conclusion
  13. Les références

Vérification si les pilotes officiels du GPU NVIDIA sont installés sur Debian 11

Avant de commencer, exécutez la commande suivante pour vérifier que vous avez installé un GPU NVIDIA sur votre ordinateur:

$ lspci | grep vga

Dans ce cas, nous avons installé le GPU NVIDIA GTX 1050 TI sur notre ordinateur. Vous aurez très probablement un autre NVIDIA GPU installé sur votre ordinateur.

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

$ lsmod | grep nvidia

Si les pilotes officiels NVIDIA sont installés sur votre système d'exploitation Debian 11, vous verrez les sorties suivantes:

Vérifiez également si les pilotes officiels de GPU NVIDIA travaillent avec la commande suivante:

$ nvidia-smi

Si les chauffeurs officiels du GPU NVIDIA fonctionnent, vous verrez les sorties suivantes. Comme vous pouvez le voir, nous avons la version officielle du pilote GPU NVIDIA GPU Version 470.161.03 installé sur notre machine Debian 11:

Si vous n'avez pas les pilotes officiels du GPU NVIDIA installés sur votre machine Debian 11 et que vous avez besoin d'aide avec cela, consultez l'article sur la façon d'installer les pilotes Nvidia sur Debian 11.

Installation des dépendances Docker CE sur Debian 11

Avant de pouvoir installer le Docker Ce sur Debian 11, vous devez installer les packages de dépendance Docker Ce requis sur Debian 11.

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

$ sudo apt mise à jour

Le cache du référentiel de package 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 ca-certificates curl gnupg LSB-libérer

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

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

Installation des clés Docker CE GPG sur Debian 11

Dans cette section, nous vous montrerons comment installer la clé GPG du référentiel du package Docker CE sur Debian 11.

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

$ sudo mkdir -p / etc / apt / clés

Pour installer la clé GPG du référentiel de package Docker CE sur Debian 11, exécutez la commande suivante:

$ curl -fssl https: // télécharger.docker.com / linux / debian / gpg | sudo gpg --dearmor -o / etc / apt / keyrings / docker.GPG

Installation du référentiel Docker CE sur Debian 11

Pour installer le référentiel de package Docker CE sur Debian 11, exécutez la commande suivante:

$ echo "deb [arch = $ (dpkg --print-architecture) signé-by = / etc / apt / clés / docker / docker.gpg] https: // télécharger.docker.com / linux / debian $ (lsb_release -cs) stable "| tee sudo / etc / apt / sources.liste.d / docker.liste> / dev / null

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

$ sudo apt mise à jour

Installation du Docker CE sur Debian 11

Pour installer la dernière version du Docker CE sur Debian 11, exécutez la commande suivante:

$ sudo apt-get install docker-ge docker-cli contenerd.IO Docker-Compose-Plugin

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

Le Docker CE et les packages de dépendance requis sont en cours de téléchargement. Il faut du temps pour terminer.

Le Docker CE et les packages de dépendance requis sont installés. Il faut du temps pour terminer.

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

Ajout de l'utilisateur de la connexion Debian 11 au groupe Docker

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

Pour ajouter l'utilisateur de connexion de votre Debian 11 au groupe Docker, exécutez la commande suivante:

$ sudo usermod -ag docker $ (whoami)

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

$ sudo redémarrer

Vérification si le Docker CE est correctement installé sur Debian 11

Une fois votre ordinateur au démarrage, exécutez la commande suivante pour vérifier que vous pouvez accéder au Docker sans privilèges de superutiliser:

$ Docker Version

Si tout fonctionne, vous devriez voir les sorties suivantes.

Comme vous pouvez le voir, nous exécutons la version 20 de Docker.dix.23 - La dernière version de Docker CE au moment de la rédaction de cet article.

Installation de la boîte à outils Nvidia Container GPG Keys sur Debian 11

Dans cette section, nous vous montrerons comment installer la clé GPG du référentiel du package Nvidia Container Toolkit sur Debian 11.

Pour installer la clé GPG du référentiel de package de boîte à outils Nvidia Container sur Debian 11, exécutez la commande suivante:

$ curl -fssl https: // nvidia.github.IO / libnvidia-container / gpgkey | sudo gpg --dearmor -o / usr / share / keyrings / nvidia-contrainer-toolkit-keyring.GPG

Installation du référentiel Nvidia Container Toolkit sur Debian 11

Dans cette section, nous vous montrerons comment installer le référentiel du package Nvidia Container Toolkit sur Debian 11.

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

$ sudo nano / etc / apt / sources.liste.d / nvidia-container-toolkit.liste

Dans le Nvidia-Container-Toolkit.Liste du fichier, ajoutez la ligne suivante et appuyez sur + x suivie de Y et pour enregistrer le fichier:

deb [signé-by = / usr / share / clés / nvidia-container-toolkit-keyring.gpg] https: // nvidia.github.IO / libnvidia-container / stable / debian11 / $ (arch) /

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

$ sudo apt mise à jour

Installation des pilotes Nvidia-Docker sur Debian 11

Pour installer les pilotes Nvidia Docker sur Debian 11, exécutez la commande suivante:

$ sudo apt install nvidia-docker2

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

Les pilotes Nvidia Docker doivent être installés.

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

$ sudo redémarrer

Vérifier si Nvidia GPU est accessible à partir des conteneurs Docker sur Debian 11

Dans cette section, nous vous montrerons comment créer un conteneur Nvidia Cuda Docker et vérifier 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écutez la commande nvidia-SMI dedans 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:

$ docker run --rm --gpus tous nvidia / cuda: 12.0.0-base-Ubuntu20.04 Nvidia-SMI

Docker tire le nvidia / cuda: 12.0.0-base-Ubuntu20.04 Image du Docker Hub. Il faut du temps pour terminer.

Une fois l'image Nvidia Cuda Docker tirée et un conteneur créé, la commande nvidia-SMI s'exécute dessus et imprime la sortie sur la console comme vous pouvez le voir dans la capture d'écran suivante:

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

Si vous avez besoin d'utiliser les anciennes versions de CUDA, consultez l'image Nvidia / Cuda au Docker Hub.

Conclusion

Nous vous avons montré comment installer le référentiel du package Docker CE sur Debian 11. Nous vous avons également montré comment installer la dernière version du docker ce sur Debian 11. Nous vous avons montré comment installer le référentiel du package Nvidia Container Toolkit sur Debian 11 ainsi que comment installer le pilote Nvidia Docker sur Debian 11. Enfin, nous vous avons montré comment accéder au GPU Nvidia de votre ordinateur à partir d'un conteneur Docker.

Les références:

  1. https: // docs.nvidia.com / datacenter / cloud-native / contener-toolkit / install-guide.html
  2. https: // hub.docker.com / r / nvidia / cuda / tags