Page cover

NVIDIA GPUs sur Docker

Ajouter un GPU à Docker m'a permis de jouer avec Jellyfin et LLaMA sur un serveur Docker

Vous pouvez retrouver toutes les informations sur la page dédié à Kubernetes et sur le site officiel NVIDIA

Configuration NVIDIA sur Ubuntu

Vérifier la présence de la carte GPU

Utiliser lspci pour faire apparaitre les informations PCI sur votre système et ainsi vérifier la présence de votre carte GPU.

# list all PCI devices with the text NVIDIA
sudo lspci | grep NVIDIA

Vous devriez voir:

sudo lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)

Vérification des drivers GPU NVIDIA

Utiliser la recherche sur le site de téléchargement des drivers NVIDIA pour trouver le dernier recommandé pour votre carte.

Par exemple pour ma 2080TI

Version

550.78

Release Date

2024.4.25

Operating System

Linux 64-bit

Language

English (US)

File Size

292.67 MB

Ce qui veut dire que l'on doit prendre la version 550+

Installation des drivers GPU

Il existe plusieurs methode pour installer les drivers sur mon serveur Ubuntu 24.04 LTS:

  • Officiel Ubuntu NVIDIA drivers via ubuntu-drivers install (lien)

  • Officiel NVIDIA driver via .run file (lien)

  • Non officiel version driver NVIDIA via ppa:graphics-drivers/ppa (lien)

Dans mon cas pour notre installation nous utiliserons l'option (ppa)

Ajouter le repo PPA et installer la version de driver trouvé sur le site officiel.

Tester la version du driver installé avec la commande nvidia-smi

Dans mon cas j'ai comme retour 550.78

Pour voir la liste des packages installé utilisé dpkg -l avec "nvidia" ou "550"

Vérifier les modules kernel installé en utilisant lsmod qui permet de lister ce qui se trouve dans /proc/modules

Si tout semble bon vous devriez avoir:

Vérifiez le fichier de version du pilote du kernel:

Vérifiez le fichier de périphérique NVIDIA trouvé:

Votre serveur maintenant a bien un GPU NVIDIA d'installé et fonctionnel si le retour de la commande est:

Installation du Container Toolkit NVIDIA

Vous pouvez trouver le guide d'installation officiel de NVIDIA

Mon environnement Kubernetes étant sur containerd, nous avons besoin de mettre à jour la configuration runtime classes.

Configuration du Container Toolkit NVIDIA

Configurer le container runtme en utilisant la commande nvidia-ctk

La commande nvidia-ctk modifie le fichier /etc/docker/daemon.json sur le serveur. Le fichier mis à jour permet à Docker d'utiliser le container Runtime de NVIDIA.

Si vous ouvrez le fichier vous devriez avoir ce qui suit:

Relancer Docker pour la prise en compte du fichier mis à jour.

Tester votre installation du container

Vous pouvez tester votre installation en exécutant un container qui fait appel au GPU NVIDIA

Exécuter un container CUDA

vous devez avoir ce résultat:

Félicitation 🎉🎉 vous avez un GPU de configuré sur votre Docker

Liens utiles

Mis à jour