Delen via


GPU-versnelling voor Azure IoT Edge voor Linux op Windows

Van toepassing op:IoT Edge 1.5 afvinken IoT Edge 1.5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS bereikt het einde van de levensduur op 12 november 2024. Als u een eerdere versie gebruikt, raadpleegt u Update IoT Edge.

GPU's zijn een populaire keuze voor berekeningen van kunstmatige intelligentie, omdat ze parallelle verwerkingsmogelijkheden bieden en vaak op vision gebaseerde deductie sneller uitvoeren dan CPU's. Ter ondersteuning van kunstmatige intelligentie en machine learning-toepassingen maakt Azure IoT Edge voor Linux op Windows (EFLOW) een GPU beschikbaar voor de Linux-module van de virtuele machine.

Azure IoT Edge voor Linux op 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 NVIDIA-End-User gebruiksrechtovereenkomst.

Vereisten

De GPU-versnellingsfuncties van Azure IoT Edge voor Linux op Windows ondersteunen momenteel een bepaalde set GPU-hardware. Ook kan het gebruik van deze functie specifieke versies van Windows vereisen.

De ondersteunde GPU's en de vereiste Windows versies zijn:

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 de update November 2021 moeten gebruiken build 19044.1620 of hoger. Controleer na de installatie de buildversie door deze uit te voeren winver bij de opdrachtprompt.

GPU passthrough wordt niet ondersteund met geneste virtualisatie, zoals het uitvoeren van EFLOW in een Windows-virtuele machine.

Instellen en installatie van het systeem

De volgende secties bevatten informatie over de configuratie 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 NVIDIA CUDA-enabled voor Windows Subsystem for Linux (WSL) voor gebruik met uw bestaande CUDA ML-werkstromen. Oorspronkelijk ontwikkeld voor WSL, worden de CUDA voor WSL-stuurprogramma's ook gebruikt met Azure IoT Edge voor Linux op Windows.

Windows-10-gebruikers moeten ook WSL installeren omdat enkele bibliotheken tussen WSL en Azure IoT Edge voor Linux op Windows worden gedeeld.

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 op Windows.

GPU-versnelling inschakelen in uw Azure IoT Edge Linux bij Windows implementatie

Nadat u de installatie van het systeem hebt voltooid, begint u met de implementatie van Azure IoT Edge voor Linux te maken op Windows. Schakel tijdens dit proces GPU-ondersteuning in als onderdeel van de EFLOW-implementatie.

Met deze 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, voert u deze opdracht uit of zoekt u naar weergaveadapters in Device Manager.

(Get-WmiObject win32_VideoController).caption

Nadat u de installatie hebt voltooid, implementeert en voert u GPU-versnelde Linux-modules uit via Azure IoT Edge voor Linux op Windows.

GPU-versnelling configureren in een bestaande Azure IoT Edge Linux op Windows implementatie

Wijs de GPU toe tijdens de implementatie voor de eenvoudigste ervaring. Gebruik de set-eflowvm opdracht om de GPU na de implementatie in of uit te schakelen. Wanneer u deze set-eflowvmgebruikt, wordt de standaardparameter gebruikt voor een argument dat u niet opgeeft. Bijvoorbeeld:

# 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

Volgende stappen

  • Probeer GPU-voorbeelden uit de EFLOW-voorbeelden. Deze voorbeelden tonen algemene productie- en retailscenario's zoals defectdetectie, werkveiligheid en voorraadbeheer. Deze opensource-voorbeelden kunnen een oplossingssjabloon zijn voor het bouwen van uw eigen machine learning-toepassing op basis van vision.

  • Meer informatie over GPU-passthrough-technologieën vindt u in de DDA-documentatie en GPU-PV blogpost.

Verschillende GPU-leveranciers bieden gebruikershandleidingen voor het optimaal verkrijgen van hun hardware en software met EFLOW: