Accélération GPU pour Azure IoT Edge pour Linux sur Windows
S’applique à : IoT Edge 1.1
Important
IoT Edge la date de fin du support 1.1 était le 13 décembre 2022. Consultez la page Politique de support Microsoft pour plus d’informations sur la prise en charge de ce produit, de ce service, de cette technologie ou de cette API. Pour plus d’informations sur la mise à jour vers la dernière version d’IoT Edge, consultez Mettre à jour IoT Edge.
Les processeurs graphiques (GPU) sont un choix courant pour les calculs d’intelligence artificielle, car ils offrent des capacités de traitement parallèle et peuvent souvent exécuter l’inférence reposant sur la vision plus rapidement que les processeurs. Pour mieux prendre en charge les applications d’intelligence artificielle et de machine learning, Azure IoT Edge pour Linux sur Windows (EFLOW) peut exposer un processeur graphique (GPU) au module Linux de la machine virtuelle.
Azure IoT Edge pour Linux sur Windows prend en charge plusieurs technologies de relais GPU, notamment :
DDA (Discrete Device Assignment) : les cœurs GPU sont alloués à la machine virtuelle Linux ou à l’hôte.
GPU-PV (GPU-Paravirtualization) : le processeur graphique (GPU) est partagé entre la machine virtuelle Linux et l’hôte.
Vous devez sélectionner la méthode passthrough appropriée lors du déploiement pour qu’elle corresponde aux fonctionnalités prises en charge par le matériel GPU de votre appareil.
Important
Ces fonctionnalités peuvent inclure des composants développés et détenus par NVIDIA Corporation ou ses concédants. L’utilisation des composants est régie par le contrat de Licence Utilisateur Final se trouvant sur le site web de NVIDIA.
En utilisant les fonctionnalités d’accélération GPU, vous acceptez les termes du contrat de licence Utilisateur final NVIDIA.
Prérequis
Les fonctionnalités d’accélération GPU d’Azure IoT Edge pour Linux sur Windows prennent actuellement en charge un ensemble sélectionné de matériel GPU. De plus, l’utilisation de cette fonctionnalité peut nécessiter des versions spécifiques de Windows.
Les processeurs graphiques (GPU) pris en charge et les versions Windows requises sont listées ci-dessous :
GPU pris en charge | Type de relais GPU | Versions de Windows prises en charge |
---|---|---|
NVIDIA T4, A2 | DDA | Windows Server 2019 Windows Server 2022 Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
NVIDIA GeForce, Quadro, RTX | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
iGPU Intel | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
Important
La prise en charge GPU-PV peut être limitée à certaines générations de processeurs ou d’architectures GPU, comme déterminé par le fournisseur du GPU. Pour plus d’informations, consultez la documentation du pilote iGPU d’Intel ou la documentation CUDA de NVIDIA pour WSL.
Les utilisateurs Windows Server 2019 doivent employer la build minimale 17763 avec toutes les mises à jour cumulatives actuelles installées.
Les utilisateurs de Windows 10 doivent utiliser la mise à jour de novembre 2021 build 19044.1620 ou ultérieure. Après l’installation, vous pouvez vérifier votre version de la build en exécutant winver
à l’invite de commandes.
Le relais du GPU n’est pas pris en charge avec la virtualisation imbriquée, comme l’exécution d’EFLOW dans une machine virtuelle Windows.
Configuration et installation du système
Les sections suivantes contiennent des informations d’installation et de configuration en fonction de votre GPU.
GPU NVIDIA T4/A2
Pour les GPU T4/A2, Microsoft recommande d’installer un pilote d’atténuation des appareils que vous pouvez obtenir auprès du fournisseur de votre processeur graphique (GPU). Bien que facultative, l’installation d’un pilote d’atténuation peut améliorer la sécurité de votre déploiement. Pour plus d’informations, consultez Déployer des appareils graphiques à l’aide de la technologie DDA (Discrete Device Assignment).
Avertissement
L’activation du relais d’appareils matériels peut augmenter les risques liés à la sécurité. Microsoft vous recommande de recourir à un pilote d’atténuation des appareils du fournisseur de votre GPU, le cas échéant. Pour plus d’informations, consultez Déploiement d’appareils graphiques avec la technologie DDA (Discrete Device Assignment).
GPU NVIDIA GeForce/Quadro/RTX
Pour les GPU NVIDIA GeForce/Quadro/RTX, téléchargez et installez le pilote compatible NVIDIA CUDA pour le Sous-système Windows pour Linux (WSL) à utiliser avec vos workflows ML CUDA existants. Initialement développé pour WSL, les pilotes CUDA pour WSL sont également utilisés pour Azure IoT Edge pour Linux sur Windows.
Les utilisateurs de Windows 10 doivent également installer WSL, car certaines des bibliothèques sont partagées entre WSL et Azure IoT Edge pour Linux sur Windows.
iGPU Intel
Pour les iGPU Intel, téléchargez et installez le pilote graphique Intel avec prise en charge du GPU WSL.
Les utilisateurs de Windows 10 doivent également installer WSL, car certaines des bibliothèques sont partagées entre WSL et Azure IoT Edge pour Linux sur Windows.
Activer l’accélération GPU dans votre déploiement Azure IoT Edge Linux sur Windows
Une fois la configuration du système terminée, vous êtes prêt à créer votre déploiement d’Azure IoT Edge pour Linux sur Windows. Pendant ce processus, vous devez activer GPU dans le cadre du déploiement EFLOW.
Par exemple, la commande ci-dessous crée une machine virtuelle à laquelle un GPU NVIDIA A2 est attribué.
Deploy-Eflow -gpuPassthroughType "DirectDeviceAssignment" -gpuCount 1 -gpuName "NVIDIA A2"
Une fois l’installation terminée, vous êtes prêt à déployer et à exécuter des modules Linux avec accélération GPU par le biais d’Azure IoT Edge pour Linux sur Windows.
Étapes suivantes
Essayez notre exemple avec processeur graphique (GPU) comprenant la vision sur Edge, un modèle de solution illustrant la façon de générer votre propre application de machine learning reposant sur la vision.
Découvrez comment exécuter des applications Intel OpenVINO sur EFLOW en suivant le guide d’Intel sur iGPU avec Azure IoT Edge pour Linux sur Windows (EFLOW) et les implémentations de référence.
Découvrez-en plus sur les technologies de relais GPU en consultant la documentation DDA et le billet de blog sur GPU-PV.