⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Support GPU dans Docker Desktop pour Windows

Note

Actuellement, le support GPU dans Docker Desktop n'est disponible que sur Windows avec le backend WSL2.

Docker Desktop pour Windows supporte la paravirtualisation GPU NVIDIA (GPU-PV) sur les GPU NVIDIA, permettant aux conteneurs d'accéder aux ressources GPU pour des charges de travail intensives en calcul comme l'IA, l'apprentissage automatique ou le traitement vidéo.

Prérequis

Pour activer la paravirtualisation GPU WSL 2, vous avez besoin de :

  • Une machine Windows avec un GPU NVIDIA
  • Une installation Windows 10 ou Windows 11 à jour
  • Des pilotes à jour de NVIDIA supportant la paravirtualisation GPU WSL 2
  • La dernière version du noyau Linux WSL 2. Utilisez wsl --update en ligne de commande
  • De vous assurer que le backend WSL 2 est activé dans Docker Desktop

Valider le support GPU

Pour confirmer que l'accès GPU fonctionne à l'intérieur de Docker, exécutez ce qui suit :

$ docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

Ceci exécute un benchmark de simulation n-body sur le GPU. La sortie sera similaire à :

Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
        -fullscreen       (run n-body simulation in fullscreen mode)
        -fp64             (use double precision floating point values for simulation)
        -hostmem          (stores simulation data in host memory)
        -benchmark        (run benchmark to measure performance)
        -numbodies=<N>    (number of bodies (>= 1) to run in simulation)
        -device=<d>       (where d=0,1,2.... for the CUDA device to use)
        -numdevices=<i>   (where i=(number of CUDA devices > 0) to use for simulation)
        -compare          (compares simulation results running once on the default GPU and once on the CPU)
        -cpu              (run n-body simulation on the CPU)
        -tipsy=<file.bin> (load a tipsy model file for simulation)

> NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.

> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
MapSMtoCores for SM 7.5 is undefined.  Default to use 64 Cores/SM
GPU Device 0: "GeForce RTX 2060 with Max-Q Design" with compute capability 7.5

> Compute 7.5 CUDA device: [GeForce RTX 2060 with Max-Q Design]
30720 bodies, total time for 10 iterations: 69.280 ms
= 136.219 billion interactions per second
= 2724.379 single-precision GFLOP/s at 20 flops per interaction

Exécuter un modèle réel : Llama2 avec Ollama

Utilisez l'image Ollama officielle pour exécuter le LLM Llama2 avec accélération GPU :

$ docker run --gpus=all -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Puis démarrez le modèle :

$ docker exec -it ollama ollama run llama2