Planifier l’accélération GPU dans Windows Server
S’applique à : Windows Server 2022, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019
Cet article présente les fonctionnalités de virtualisation graphique disponibles dans Windows Server.
Quand utiliser l’accélération GPU
En fonction de votre charge de travail, vous pouvez envisager l’accélération GPU. Voici ce que vous devez prendre en compte avant de choisir l’accélération GPU :
- Charges de travail de communication à distance des applications et des bureaux (VDI/DaaS) : si vous créez un service de communication à distance d’application ou de bureau avec Windows Server, tenez compte du catalogue d’applications que vos utilisateurs doivent exécuter. Certains types d’applications, comme les applications de CAO/CAM, les simulations, les jeux et les applications de rendu/visualisation, s’appuient fortement sur le rendu 3D pour offrir une interactivité fluide et réactive. La plupart des clients considèrent que les GPU sont nécessaires pour une expérience utilisateur raisonnable avec ces types d’applications.
- Charges de travail de rendu, d’encodage et de visualisation à distance : ces charges de travail graphiques ont tendance à s’appuyer fortement sur les fonctionnalités spécialisées d’un GPU, comme le rendu 3D efficace et l’encodage/décodage des images, afin d’atteindre les objectifs de rentabilité et de débit. Pour ce type de charge de travail, une seule machine virtuelle avec GPU peut être en mesure de produire un débit équivalent à de nombreuses machines virtuelles avec processeur uniquement.
- Charges de travail HPC et ML : pour les charges de travail de calcul hautement parallèles, comme l’apprentissage ou l’inférence de modèle Machine Learning et de calcul hautes performances, les GPU peuvent réduire considérablement le temps de production de résultats, d’inférence et d’entraînement. Ils peuvent également offrir une meilleure rentabilité qu’une architecture à processeur uniquement à un niveau de performances comparable. De nombreuses infrastructures HPC et Machine Learning disposent d’une option permettant d’activer l’accélération GPU ; déterminez si cela peut être bénéfique pour votre charge de travail spécifique.
Virtualisation de GPU dans Windows Server
Les technologies de virtualisation de GPU activent l’accélération GPU dans un environnement virtualisé, généralement au sein de machines virtuelles. Si votre charge de travail est virtualisée avec Hyper-V, vous devez utiliser la virtualisation graphique afin de fournir une accélération GPU, du GPU physique vers vos applications ou services virtualisés. Toutefois, si votre charge de travail s’exécute directement sur des hôtes Windows Server physiques, vous n’avez pas besoin de virtualisation graphique ; vos applications et services ont déjà accès aux fonctionnalités et aux API de GPU prises en charge en mode natif dans Windows Server.
Les technologies de virtualisation graphique suivantes sont disponibles pour les machines virtuelles Hyper-V dans Windows Server :
En plus des charges de travail de machine virtuelle, Windows Server prend en charge l’accélération GPU des charges de travail conteneurisées dans des conteneurs Windows. Pour plus d’informations, consultez Accélération GPU dans les conteneurs Windows.
Affectation discrète d’appareil (DDA)
Discrete Device Assignment (DDA), également connue sous le nom de transfert de GPU, vous permet de dédier une ou plusieurs GPU physiques à une machine virtuelle. Dans un déploiement DDA, les charges de travail virtualisées s’exécutent sur le pilote natif et disposent généralement d’un accès complet aux fonctionnalités du GPU. DDA offre le plus haut niveau de compatibilité des applications et de performances potentielles. DDA peut également fournir une accélération GPU aux machines virtuelles Linux, sous réserve de prise en charge.
Un déploiement DDA ne peut accélérer qu’un nombre limité de machines virtuelles, car chaque GPU physique peut fournir une accélération à au plus une machine virtuelle. Si vous développez un service dont l’architecture prend en charge les machines virtuelles partagées, envisagez d’héberger plusieurs charges de travail accélérées par machine virtuelle. Par exemple, si vous créez un service de communication de bureau à distance avec RDS, vous pouvez améliorer la mise à l’échelle des utilisateurs en tirant parti des fonctionnalités multisession de Windows Server pour héberger plusieurs bureaux utilisateur sur chaque machine virtuelle. Ces utilisateurs partageront les avantages de l’accélération GPU.
Pour plus d’informations, consultez les rubriques suivantes :
- Planifier le déploiement Discrete Device Assignment
- Déployer des appareils graphiques à l’aide de la technologie Discrete Device Assignment
RemoteFX vGPU
Notes
Pour des raisons de sécurité, le vGPU RemoteFX est désactivé par défaut sur toutes les versions de Windows à partir de la mise à jour de sécurité du 14 juillet 2020 et supprimé à partir de la Mise à jour de sécurité du 13 avril 2021. Pour plus d’informations, consultez l’article KB 4570006.
RemoteFX vGPU est une technologie de virtualisation graphique qui permet de partager un seul GPU physique entre plusieurs machines virtuelles. Dans un déploiement RemoteFX vGPU, les charges de travail virtualisées s’exécutent sur l’adaptateur 3D RemoteFX de Microsoft, qui coordonne les demandes de traitement GPU entre l’hôte et les invités. RemoteFX vGPU convient le mieux aux charges de travail des travailleurs du savoir et aux charges de travail à bursting élevé, où des ressources GPU dédiées ne sont pas requises. RemoteFX vGPU peut uniquement fournir une accélération GPU aux machines virtuelles Windows.
Pour plus d’informations, consultez les rubriques suivantes :
- Déployer des périphériques graphiques avec vGPU RemoteFX
- Prise en charge de la carte vidéo 3D RemoteFX (vGPU)
Comparaison de DDA et de RemoteFX vGPU
Tenez compte des différences de fonctionnalités et de prise en charge suivantes entre les technologies de virtualisation graphique lors de la planification de votre déploiement :
Description | RemoteFX vGPU | Attribution d’appareils en mode discret |
---|---|---|
Modèle de ressource GPU | Dédié ou partagé | Dédié uniquement |
Densité de machines virtuelles | Élevée (un ou plusieurs GPU pour de nombreuses machines virtuelles) | Faible (un ou plusieurs GPU sur une machine virtuelle) |
Compatibilité des applications | DX 11.1, OpenGL 4.4, OpenCL 1.1 | Toutes les fonctionnalités GPU fournies par le fournisseur (DX 12, OpenGL, CUDA) |
AVC444 | Activée par défaut | Disponible via les stratégies de groupe |
VRAM de GPU | Jusqu’à 1 Go de RAM vidéo dédiée | Jusqu’à la quantité de RAM vidéo prise en charge par le GPU |
Fréquence d’images | Jusqu’à 30fps | Jusqu’à 60fps |
Pilote GPU dans l’invité | Pilote d’affichage de carte 3D RemoteFX (Microsoft) | Pilote de fournisseur GPU (NVIDIA, AMD, Intel) |
Prise en charge du système d’exploitation hôte | Windows Server 2016 | Windows Server 2016 ; Windows Server 2019 |
Prise en charge du système d’exploitation invité | Windows 2012 R2 ; Windows Server 2016 ; Windows 7 SP1 ; Windows 8.1 ; Windows 10 | Windows Server 2012 R2 ; Windows Server 2016 ; Windows Server 2019 ; Windows 10 ; Linux |
Hyperviseur | Microsoft Hyper-V. | Microsoft Hyper-V. |
Matériel GPU | GPU Entreprise (comme Nvidia Quadro/GRID ou AMD FirePro) | GPU Entreprise (comme Nvidia Quadro/GRID ou AMD FirePro) |
Matériel serveur | Aucune exigence | Serveur moderne, expose IOMMU au système d’exploitation (généralement un matériel compatible SR-IOV) |