GPU-versnelling voor Azure IoT Edge voor Linux op Windows
Van toepassing op: IoT Edge 1.5 IoT Edge 1.4
Belangrijk
IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
GPU's zijn een populaire keuze voor berekeningen van kunstmatige intelligentie, omdat ze parallelle verwerkingsmogelijkheden bieden en vaak op vision gebaseerde deductie sneller kunnen uitvoeren dan CPU's. Om kunstmatige intelligentie en machine learning-toepassingen beter te ondersteunen, kan Azure IoT Edge voor Linux in Windows (EFLOW) een GPU beschikbaar maken voor de Linux-module van de virtuele machine.
Azure IoT Edge voor Linux in Windows ondersteunt verschillende GPU-passthrough-technologieën, waaronder:
Directe apparaattoewijzing (DDA): GPU-kernen worden toegewezen aan de virtuele Linux-machine of de host.
GPU-Paravirtualization (GPU-PV): de GPU wordt gedeeld tussen de virtuele Linux-machine en de host.
U moet de juiste passthrough-methode selecteren tijdens de implementatie om overeen te komen met de ondersteunde mogelijkheden van de GPU-hardware van uw apparaat.
Belangrijk
Deze functies kunnen onderdelen omvatten die zijn ontwikkeld en eigendom zijn van NVIDIA Corporation of haar licentiegevers. Het gebruik van de onderdelen is onderhevig aan de NVIDIA-gebruiksrechtovereenkomst op de website van NVIDIA.
Door GPU-versnellingsfuncties te gebruiken, gaat u akkoord met de voorwaarden van de LICENTIEovereenkomst van NVIDIA voor eindgebruikers.
Vereisten
De GPU-versnellingsfuncties van Azure IoT Edge voor Linux in Windows ondersteunen momenteel een bepaalde set GPU-hardware. Daarnaast kan het gebruik van deze functie specifieke versies van Windows vereisen.
De ondersteunde GPU's en de vereiste Windows-versies worden hieronder vermeld:
Ondersteunde GPU's | Gpu Passthrough-type | Ondersteunde Windows-versies |
---|---|---|
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) |
Intel iGPU | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
Belangrijk
GPU-PV-ondersteuning kan worden beperkt tot bepaalde generaties processors of GPU-architecturen, zoals bepaald door de GPU-leverancier. Zie de iGPU-stuurprogrammadocumentatie van Intel of de CUDA van NVIDIA voor WSL-documentatie voor meer informatie.
Windows Server 2019-gebruikers moeten minimaal build 17763 gebruiken met alle huidige cumulatieve updates geïnstalleerd.
Windows 10-gebruikers moeten de build 19044.1620 of hoger van de update van november 2021 gebruiken. Na de installatie kunt u uw buildversie controleren door deze uit te voeren winver
via de opdrachtprompt.
GPU-passthrough wordt niet ondersteund met geneste virtualisatie, zoals het uitvoeren van EFLOW in een virtuele Windows-machine.
Installatie en installatie van het systeem
De volgende secties bevatten informatie over de installatie en installatie, afhankelijk van uw GPU.
NVIDIA T4/A2 GPU's
Voor GPU's met T4/A2 raadt Microsoft aan een stuurprogramma voor apparaatbeperking te installeren bij de leverancier van uw GPU. Hoewel dit optioneel is, kan het installeren van een beperkingsstuurprogramma de beveiliging van uw implementatie verbeteren. Zie Grafische apparaten implementeren met behulp van directe apparaattoewijzing voor meer informatie.
Waarschuwing
Het inschakelen van passthrough voor hardwareapparaten kan de beveiligingsrisico's verhogen. Microsoft raadt een stuurprogramma voor apparaatbeperking aan bij de leverancier van uw GPU, indien van toepassing. Zie Grafische apparaten implementeren met discrete apparaattoewijzing voor meer informatie.
NVIDIA GeForce/Quadro/RTX GPU's
Voor NVIDIA GeForce/Quadro/RTX GPU's downloadt en installeert u het stuurprogramma met NVIDIA CUDA-functionaliteit voor Windows-subsysteem voor Linux (WSL) voor gebruik met uw bestaande CUDA ML-werkstromen. Oorspronkelijk ontwikkeld voor WSL, worden de CUDA voor WSL-stuurprogramma's ook gebruikt voor Azure IoT Edge voor Linux in Windows.
Windows 10-gebruikers moeten ook WSL installeren omdat sommige bibliotheken worden gedeeld tussen WSL en Azure IoT Edge voor Linux in Windows.
Intel iGPUs
Voor Intel iGPUs downloadt en installeert u het Intel Graphics Driver met WSL GPU-ondersteuning.
Windows 10-gebruikers moeten ook WSL installeren omdat sommige bibliotheken worden gedeeld tussen WSL en Azure IoT Edge voor Linux in Windows.
GPU-versnelling inschakelen in uw Azure IoT Edge Linux in Windows-implementatie
Zodra de installatie van het systeem is voltooid, kunt u uw implementatie van Azure IoT Edge voor Linux in Windows maken. Tijdens dit proces moet u GPU inschakelen als onderdeel van de EFLOW-implementatie.
Met de volgende opdrachten maakt u bijvoorbeeld een virtuele machine met GPU met een NVIDIA A2 GPU of een Intel Iris Xe Graphics-kaart.
#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"
Als u de naam van uw GPU wilt vinden, kunt u de volgende opdracht uitvoeren of zoeken naar weergaveadapters in Apparaatbeheer.
(Get-WmiObject win32_VideoController).caption
Zodra de installatie is voltooid, bent u klaar om GPU-versnelde Linux-modules te implementeren en uit te voeren via Azure IoT Edge voor Linux in Windows.
GPU-versnelling configureren in een bestaande Azure IoT Edge Linux-implementatie in Windows
Het toewijzen van de GPU tijdens de implementatie resulteert in de eenvoudigste ervaring. Als u de GPU na de implementatie echter wilt in- of uitschakelen, gebruikt u de opdracht set-eflowvm. Wanneer u set-eflowvm gebruikt, wordt de standaardparameter gebruikt voor een argument dat niet is opgegeven. Voorbeeld:
#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, otherwise they will be 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, otherwise the GPU will be 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
Volgende stappen
Aan de slag met voorbeelden
Bezoek onze pagina met EFLOW-voorbeelden om verschillende GPU-voorbeelden te ontdekken die u kunt proberen en gebruiken. Deze voorbeelden illustreren veelvoorkomende productie- en retailscenario's, zoals defectdetectie, werkveiligheid en voorraadbeheer. De opensource-voorbeelden kunnen fungeren als een oplossingssjabloon voor het bouwen van uw eigen machine learning-toepassing op basis van vision.
Meer informatie van onze partners
Verschillende GPU-leveranciers hebben gebruikershandleidingen gegeven voor het optimaal verkrijgen van hun hardware en software met EFLOW.
- Meer informatie over het uitvoeren van Intel OpenVINO-toepassingen™ op EFLOW door de Intel-handleiding op iGPU te volgen met Azure IoT Edge voor Linux in Windows (EFLOW) & OpenVINO™ Toolkit en referentie-implementaties.
- Ga aan de slag met het implementeren van CUDA-versnelde toepassingen op EFLOW door de EFLOW-gebruikershandleiding van NVIDIA voor GeForce/Quadro/RTX-GPU's te volgen.
Notitie
Deze handleiding heeft geen betrekking op gpu's op basis van DDA, zoals NVIDIA T4 of A2.
Duik in de technologie
Meer informatie over GPU passthrough-technologieën vindt u in de DDA-documentatie en het blogbericht GPU-PV.