Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
IoT Edge 1.5
Important
IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1,4 LTS a atteint la fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez Update IoT Edge.
Les GPU sont un choix populaire pour les calculs d’intelligence artificielle, car ils offrent des fonctionnalités de traitement parallèles et exécutent souvent une inférence basée sur la vision plus rapidement que les PROCESSEURs. Pour prendre en charge l'intelligence artificielle et les applications Machine Learning, Azure IoT Edge pour Linux sur Windows (EFLOW) expose un GPU au module Linux de la machine virtuelle.
Azure IoT Edge pour Linux sur Windows prend en charge plusieurs technologies de passthrough 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 licences. 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 et acceptez les conditions du contrat de licence NVIDIA End-User.
Prérequis
Les fonctionnalités d’accélération GPU de Azure IoT Edge pour Linux sur Windows prennent actuellement en charge un ensemble sélectionné de matériel GPU. En outre, l’utilisation de cette fonctionnalité peut nécessiter des versions spécifiques de Windows.
Les GPU pris en charge et les versions de Windows requises sont les suivantes :
| 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 de GPU-PV peut être limitée à certaines générations de processeurs ou d’architectures GPU, comme déterminé par le fabricant de GPU. Pour plus d’informations, consultez la documentation du pilote iGPU d’Intel ou la documentation CUDA de NVIDIA pour WSL.
Windows Server 2019 utilisateurs doivent utiliser la build 17763 minimale avec toutes les mises à jour cumulatives actuelles installées.
Windows 10 utilisateurs doivent utiliser la mise à jour November 2021 build 19044.1620 ou ultérieure. Après l’installation, vérifiez la version de votre build en exécutant winver dans l’invite de commandes.
GPU passthrough n’est pas pris en charge avec la virtualisation imbriquée, comme lorsque EFLOW est exécuté 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). Si vous le souhaitez, 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 fonction Direct Device Assignment (DDA).
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).
Cartes graphiques NVIDIA GeForce/Quadro/RTX
Pour NVIDIA GeForce/Quadro/RTX GPUs, téléchargez et installez le pilote compatible CUDA NVIDIA pour le Windows Subsystem for Linux (WSL) à utiliser avec vos flux de travail CUDA ML existants. Initialement développé pour WSL, les pilotes CUDA pour WSL sont également utilisés avec Azure IoT Edge pour Linux sur Windows.
Windows 10 utilisateurs doivent également installer WSL car certaines bibliothèques sont partagées entre WSL et Azure IoT Edge pour Linux sur Windows.
Intel iGPU
Pour les iGPU Intel, téléchargez et installez le pilote graphique Intel avec prise en charge du GPU WSL.
Windows 10 utilisateurs doivent également installer WSL car certaines bibliothèques sont partagées entre WSL et Azure IoT Edge pour Linux sur Windows.
Activer l'Accélération GPU dans le déploiement Azure IoT Edge Linux sur Windows.
Une fois la configuration du système terminée, commencez à créez votre déploiement de Azure IoT Edge pour Linux sur Windows. Pendant ce processus, activez la prise en charge GPU dans le cadre du déploiement EFLOW.
Par exemple, ces commandes créent une machine virtuelle compatible GPU avec un GPU NVIDIA A2 ou une carte Graphique Intel Iris Xe.
#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"
#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"
Pour trouver le nom de votre GPU, exécutez cette commande ou recherchez les adaptateurs d’affichage dans Device Manager.
(Get-WmiObject win32_VideoController).caption
Une fois l’installation terminée, déployez et exécutez des modules Linux accélérés par GPU via Azure IoT Edge pour Linux sur Windows.
Configurer l’accélération GPU dans un déploiement existant d'Azure IoT Edge Linux sur Windows.
Attribuez le GPU au moment du déploiement pour une expérience la plus simple. Pour activer ou désactiver le GPU après le déploiement, utilisez la set-eflowvm commande. Lorsque vous utilisez set-eflowvm, le paramètre par défaut est utilisé pour n’importe quel argument que vous ne spécifiez pas. Par exemple,
# Deploys EFLOW without a GPU assigned to the EFLOW VM
Deploy-Eflow -cpuCount 4 -memoryInMB 16384
# Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, or they're set to the default values)
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Reduces the cpuCount and memory (GPU must still be specified, or the GPU is removed)
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Removes NVIDIA A2 GPU from the existing deployment
Set-EflowVM -cpuCount 2 -memoryInMB 4096
Étapes suivantes
Essayez les exemples GPU issus des exemples EFLOW. Ces exemples montrent des scénarios de fabrication et de vente au détail courants tels que la détection des défauts, la sécurité des travailleurs et la gestion des stocks. Ces exemples open source peuvent être un modèle de solution pour créer votre propre application Machine Learning basée sur la vision.
En savoir plus sur les technologies de passe GPU dans la documentation DDA et GPU-PV billet de blog.
Plusieurs fournisseurs GPU fournissent des guides utilisateur sur l’obtention du meilleur de leur matériel et de leurs logiciels avec EFLOW :
- Découvrez comment exécuter des applications Intel OpenVINO™ sur EFLOW en suivant le guide de Intel sur iGPU avec Azure IoT Edge pour Linux sur Windows (EFLOW) et OpenVINO™ Toolkit.
- Démarrez avec le déploiement d’applications accélérées par CUDA sur EFLOW en suivant le guide d’utilisateur EFLOW de NVIDIA pour les GPU GeForce/Quadro/RTX. Ce guide ne couvre pas les GPU basés sur DDA comme NVIDIA T4 ou A2.