GPU-acceleration för Azure IoT Edge för Linux på Windows
Gäller för: IoT Edge 1.5 IoT Edge 1.4
Viktigt!
IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
GPU:er är ett populärt val för beräkningar av artificiell intelligens, eftersom de erbjuder parallella bearbetningsfunktioner och ofta kan köra visionsbaserad inferens snabbare än processorer. För att bättre stödja program för artificiell intelligens och maskininlärning kan Azure IoT Edge för Linux i Windows (EFLOW) exponera en GPU för den virtuella datorns Linux-modul.
Azure IoT Edge för Linux i Windows har stöd för flera GPU-tekniker för genomströmning, bland annat:
Direkt enhetstilldelning (DDA) – GPU-kärnor allokeras antingen till den virtuella Linux-datorn eller värden.
GPU-Paravirtualization (GPU-PV) – GPU:n delas mellan den virtuella Linux-datorn och värden.
Du måste välja lämplig genomströmningsmetod under distributionen för att matcha de funktioner som stöds i enhetens GPU-maskinvara.
Viktigt!
Dessa funktioner kan omfatta komponenter som utvecklats och ägs av NVIDIA Corporation eller dess licensgivare. Användningen av komponenterna styrs av NVIDIA-licensavtalet för slutanvändare som finns på NVIDIA:s webbplats.
Genom att använda GPU-accelerationsfunktioner accepterar och godkänner du villkoren i NVIDIA-licensavtalet för slutanvändare.
Förutsättningar
GPU-accelerationsfunktionerna i Azure IoT Edge för Linux i Windows stöder för närvarande en utvald uppsättning GPU-maskinvara. Dessutom kan användning av den här funktionen kräva specifika versioner av Windows.
De GPU:er som stöds och nödvändiga Windows-versioner visas nedan:
GPU:er som stöds | GPU-genomströmningstyp | Windows-versioner som stöds |
---|---|---|
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) |
Viktigt!
GPU-PV-stöd kan begränsas till vissa generationer av processorer eller GPU-arkitekturer som bestäms av GPU-leverantören. Mer information finns i Dokumentation om Intels iGPU-drivrutin eller NVIDIA:s CUDA for WSL-dokumentation.
Windows Server 2019-användare måste använda lägsta version 17763 med alla aktuella kumulativa uppdateringar installerade.
Windows 10-användare måste använda uppdateringsversionen för november 2021 19044.1620 eller senare. Efter installationen kan du verifiera versionsversionen genom att köra winver
den i kommandotolken.
GPU-genomströmning stöds inte med kapslad virtualisering, till exempel att köra EFLOW på en virtuell Windows-dator.
Systemkonfiguration och installation
Följande avsnitt innehåller konfigurations- och installationsinformation, enligt din GPU.
NVIDIA T4/A2 GPU:er
För T4/A2 GPU:er rekommenderar Microsoft att du installerar en enhetsreduceringsdrivrutin från GPU:ns leverantör. Även om det är valfritt kan installation av en åtgärdsdrivrutin förbättra säkerheten för distributionen. Mer information finns i Distribuera grafikenheter med direkt enhetstilldelning.
Varning
Aktivering av genomströmning av maskinvaruenheter kan öka säkerhetsriskerna. Microsoft rekommenderar en enhetsreduceringsdrivrutin från GPU:ns leverantör när det är tillämpligt. Mer information finns i Distribuera grafikenheter med diskret enhetstilldelning.
NVIDIA GeForce/Quadro/RTX GPU:er
För NVIDIA GeForce/Quadro/RTX GPU:er laddar du ned och installerar DEN NVIDIA CUDA-aktiverade drivrutinen för Windows podsistem za Linux (WSL) som ska användas med dina befintliga CUDA ML-arbetsflöden. CUDA for WSL-drivrutinerna utvecklades ursprungligen för WSL och används också för Azure IoT Edge för Linux i Windows.
Windows 10-användare måste också installera WSL eftersom vissa bibliotek delas mellan WSL och Azure IoT Edge för Linux i Windows.
Intel iGPUs
För Intel iGPUs laddar du ned och installerar Intel-grafikdrivrutinen med stöd för WSL GPU.
Windows 10-användare måste också installera WSL eftersom vissa bibliotek delas mellan WSL och Azure IoT Edge för Linux i Windows.
Aktivera GPU-acceleration i din Azure IoT Edge Linux i Windows-distribution
När systemkonfigurationen är klar är du redo att skapa distributionen av Azure IoT Edge för Linux i Windows. Under den här processen måste du aktivera GPU som en del av EFLOW-distributionen.
Följande kommandon skapar till exempel en GPU-aktiverad virtuell dator med antingen ett NVIDIA A2 GPU- eller Intel Iris Xe-grafikkort.
#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"
Om du vill hitta namnet på din GPU kan du köra följande kommando eller leta efter visningskort i Upravljač uređajima.
(Get-WmiObject win32_VideoController).caption
När installationen är klar är du redo att distribuera och köra GPU-accelererade Linux-moduler via Azure IoT Edge för Linux i Windows.
Konfigurera GPU-acceleration i en befintlig Azure IoT Edge Linux i Windows-distribution
Om du tilldelar GPU:n vid distributionstillfället blir det enklast. Om du vill aktivera eller inaktivera GPU:n efter distributionen använder du kommandot set-eflowvm. När du använder set-eflowvm används standardparametern för alla argument som inte har angetts. Exempel:
#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
Nästa steg
Kom igång med exempel
Besök vår EFLOW-exempelsida för att identifiera flera GPU-exempel som du kan prova och använda. De här exemplen illustrerar vanliga tillverknings- och detaljhandelsscenarier som defektidentifiering, arbetarsäkerhet och lagerhantering. Exempel med öppen källkod kan fungera som en lösningsmall för att skapa ett eget visionsbaserat maskininlärningsprogram.
Lär dig mer från våra partner
Flera GPU-leverantörer har tillhandahållit användarguider för att få ut mesta möjliga av sin maskinvara och programvara med EFLOW.
- Lär dig hur du kör Intel OpenVINO-program™ på EFLOW genom att följa Intels guide om iGPU med Azure IoT Edge för Linux på Windows (EFLOW) och OpenVINO™ Toolkit och referensimplementeringar.
- Kom igång med att distribuera CUDA-accelererade program på EFLOW genom att följa NVIDIA:s användarhandbok för EFLOW för GPU:er för GeForce/Quadro/RTX.
Kommentar
Den här guiden omfattar inte DDA-baserade GPU:er som NVIDIA T4 eller A2.
Gå in på tekniken
Läs mer om GPU-teknik för genomströmning genom att gå till DDA-dokumentationen och blogginlägget GPU-PV.