Partager via


Accélération GPU dans les conteneurs Windows

Pour de nombreuses charges de travail en conteneur, les ressources de calcul de l’UC offrent des performances suffisantes. Cependant, pour une certaine classe de charge de travail, la puissance de calcul massivement parallèle offerte par les GPU (unités de traitement graphique) peut accélérer les opérations par ordre de magnitude, ce qui a pour effet de réduire les coûts et d’améliorer considérablement le débit.

Les GPU sont déjà des outils couramment utilisés pour de nombreuses charges de travail populaires, allant du rendu et de la simulation traditionnels à l’apprentissage, la formation et l’inférence automatiques. Les conteneurs Windows prennent en charge l’accélération GPU pour les technologies DirectX et toutes les infrastructures basées sur celles-ci.

Notes

Cette fonctionnalité est disponible dans Docker Desktop, version 2.1 et Docker Engine - Enterprise, version 19.03 ou ultérieure.

Conditions requises

Pour que cette fonctionnalité soit opérationnelle, votre environnement doit satisfaire aux exigences suivantes :

  • L’hôte de conteneur doit exécuter Windows Server 2019 ou Windows 10, version 1809 ou ultérieure.
  • L’image de base du conteneur doit être mcr.microsoft.com/windows:1809 ou une version plus récente. Les images de conteneur Windows Server Core et Nano Server ne sont pas prises en charge actuellement.
  • L’hôte de conteneur doit exécuter Docker Engine, version 19.03 ou plus récente.
  • L’hôte de conteneur doit avoir un GPU exécutant des pilotes d’affichage WDDM, version 2.5 ou ultérieure.

Pour vérifier la version de WDDM de vos pilotes d’affichage, exécutez l’outil de diagnostic DirectX (dxdiag.exe) sur l’hôte de votre conteneur. Sous l’onglet « Display » (Affichage) de l’outil, examinez la section « Drivers » (Pilotes), comme indiqué ci-dessous.

Screenshot of the Driver Model found in the Display tab.

Exécuter un conteneur avec une accélération GPU

Pour démarrer un conteneur avec une accélération GPU, exécutez la commande suivante :

docker run --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows:1809

Important

Les technologies DirectX (et toutes les infrastructures basées dessus) sont les seules API qui peuvent être accélérées avec un GPU dès aujourd’hui. Les infrastructures tierces ne sont pas prises en charge.

Prise en charge de conteneur Windows isolé par Hyper-V

L’accélération GPU pour les charges de travail dans des conteneurs Windows isolés par Hyper-V n’est pas prise en charge actuellement.

Prise en charge de conteneur Linux isolé par Hyper-V

L’accélération GPU pour les charges de travail dans des conteneurs Linux isolés par Hyper-V n’est pas prise en charge actuellement.

Autres informations

Pour un exemple complet d’application DirectX en conteneur qui tire parti de l’accélération GPU, consultez Exemple de conteneur DirectX.