Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: IoT Edge 1.5
Wichtig
IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
GPUs sind eine beliebte Wahl für Künstliche Intelligenz-Berechnungen, da sie parallele Verarbeitungsfunktionen bieten und oft sehbasiertes Inferencing schneller als CPUs ausführen. Um künstliche Intelligenz und Machine Learning-Anwendungen zu unterstützen, macht Azure IoT Edge für Linux unter Windows (EFLOW) eine GPU für das Linux-Modul des virtuellen Computers verfügbar.
Azure IoT Edge für Linux unter Windows unterstützt mehrere GPU-Passthrough-Technologien, z. B.:
Direkte Gerätezuweisung (Direct Device Assignment, DDA): GPU-Kerne werden entweder dem virtuellen Linux-Computer oder dem Host zugeordnet.
GPU-Paravirtualisierung (GPU-PV): Die GPU wird vom virtuellen Linux-Computer und vom Host gemeinsam genutzt.
Sie müssen während der Bereitstellung die entsprechende Passthrough-Methode auswählen, damit sie den unterstützten Funktionen der GPU-Hardware Ihres Geräts entspricht.
Wichtig
Diese Features können Komponenten enthalten, die im Besitz der NVIDIA Corporation oder ihrer Lizenzgeber sind. Die Verwendung der Komponenten unterliegt den Lizenzbedingungen von NVIDIA, die auf der NVIDIA-Website angegeben sind.
Durch die Verwendung von GPU-Beschleunigungsfeatures akzeptieren und stimmen Sie den Bedingungen des NVIDIA End-User-Lizenzvertrags zu.
Voraussetzungen
Die GPU-Beschleunigungsfeatures von Azure IoT Edge für Linux unter Windows unterstützen derzeit einen ausgewählten Satz von GPU-Hardware. Außerdem kann die Verwendung dieses Features bestimmte Versionen von Windows erfordern.
Die unterstützten GPUs und die erforderlichen Windows-Versionen sind:
Unterstützte GPUs | GPU-Passthrough-Typ | Unterstützte Windows-Versionen |
---|---|---|
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) |
Wichtig
GPU-PV Unterstützung kann auf bestimmte Generationen von Prozessoren oder GPU-Architekturen beschränkt werden, wie vom GPU-Anbieter bestimmt. Weitere Informationen finden Sie in der Dokumentation zum iGPU-Treiber von Intel oder in der Dokumentation zu CUDA für WSL von NVIDIA.
Windows Server 2019-Benutzer müssen mindestens Build 17763 mit Installation aller aktuellen kumulativen Updates verwenden.
Windows 10-Benutzer müssen mindestens Build 19044.1620 aus dem Update vom November 2021 verwenden. Überprüfen Sie nach der Installation Ihre Buildversion, indem Sie winver
an der Eingabeaufforderung ausführen.
GPU-Passthrough wird bei geschachtelter Virtualisierung nicht unterstützt, wie etwa beim Ausführen von EFLOW in einer Windows-VM.
Systemsetup und -installation
Die folgenden Abschnitte enthalten Setup- und Installationsinformationen für verschiedene GPUs.
NVIDIA T4-/A2-GPUs
Für T4-/A2GPUs empfiehlt Microsoft die Installation eines Treibers für die Risikominderung des Geräts, den Sie beim Anbieter Ihrer GPU erhalten. Obwohl es optional ist, kann die Installation eines Mitigation-Treibers die Sicherheit Ihrer Installation verbessern. Weitere Informationen finden Sie unter Bereitstellen von Grafikgeräten mit Discrete Device Assignment.
Warnung
Durch das Aktivieren der Passthrough für Hardwaregeräte können Sicherheitsrisiken erhöht werden. Microsoft empfiehlt zur Risikominderung die Installation eines Gerätetreibers, den Sie vom Anbieter Ihrer GPU erhalten. Weitere Informationen finden Sie unter Bereitstellen von Grafikgeräten mit Discrete Device Assignment.
NVIDIA GeForce-/Quadro-/RTX-GPUs
Laden Sie für NVIDIA GeForce-/Quadro-/RTX-GPUs den NVIDIA CUDA-fähigen Treiber für das Windows-Subsystem für Linux (WSL) herunter, und installieren Sie ihn, um ihn für Ihre vorhandenen CUDA-ML-Workflows zu nutzen. Ursprünglich für WSL entwickelt, werden die CUDA für WSL-Treiber auch mit Azure IoT Edge für Linux unter Windows verwendet.
Windows 10-Benutzer müssen auch WSL installieren , da einige Bibliotheken zwischen WSL und Azure IoT Edge für Linux unter Windows gemeinsam genutzt werden.
Intel iGPUs
Laden Sie für Intel iGPUs den Intel-Grafiktreiber mit WSL-GPU-Unterstützung herunter, und installieren Sie ihn.
Windows 10-Benutzer müssen auch WSL installieren , da einige Bibliotheken zwischen WSL und Azure IoT Edge für Linux unter Windows gemeinsam genutzt werden.
Aktivieren der GPU-Beschleunigung in Ihrer Azure IoT Edge-Bereitstellung für Linux unter Windows
Nachdem Sie das Systemsetup abgeschlossen haben, beginnen Sie mit der Erstellung Ihrer Bereitstellung von Azure IoT Edge für Linux unter Windows. Aktivieren Sie während dieses Prozesses die GPU-Unterstützung als Teil der EFLOW-Bereitstellung.
Beispielsweise erstellen diese Befehle einen GPU-fähigen virtuellen Computer mit einer NVIDIA A2-GPU oder einer Intel Iris Xe-Grafikkarte.
#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"
Um ihren GPU-Namen zu finden, führen Sie diesen Befehl aus, oder suchen Sie im Geräte-Manager nach Anzeigeadaptern.
(Get-WmiObject win32_VideoController).caption
Nachdem Sie die Installation abgeschlossen haben, stellen Sie GPU-beschleunigte Linux-Module über Azure IoT Edge für Linux unter Windows bereit und führen sie aus.
Konfigurieren der GPU-Beschleunigung in einer vorhandenen Bereitstellung von Azure IoT Edge für Linux unter Windows
Weisen Sie für die einfachste Erfahrung die GPU zur Bereitstellungszeit zu. Verwenden Sie den set-eflowvm
Befehl, um die GPU nach der Bereitstellung zu aktivieren oder zu deaktivieren. Bei Verwendung set-eflowvm
wird der Standardparameter für jedes Argument verwendet, das Sie nicht angeben. Beispiel:
# 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
Nächste Schritte
Probieren Sie GPU-Beispiele aus den EFLOW-Beispielen aus. Diese Beispiele zeigen allgemeine Produktions- und Einzelhandelsszenarien wie Fehlererkennung, Arbeitssicherheit und Bestandsverwaltung. Diese Open-Source-Beispiele können eine Lösungsvorlage sein, um Ihre eigene visionbasierte Machine Learning-Anwendung zu erstellen.
Erfahren Sie mehr über GPU-Passthroughtechnologien in der DDA-Dokumentation und GPU-PV Blogbeitrag.
Mehrere GPU-Anbieter bieten Benutzerhandbücher für die optimale Nutzung ihrer Hardware und Software mit EFLOW:
- Informationen zum Ausführen von Intel OpenVINO™-Anwendungen in EFLOW finden Sie im Leitfaden von Intel für iGPU mit Azure IoT Edge für Linux unter Windows (EFLOW) und OpenVINO-Toolkit™ und in den Referenzimplementierungen.
- Informationen zu den ersten Schritten bei der Bereitstellung von CUDA-beschleunigten Anwendungen in EFLOW finden Sie im EFLOW-Benutzerleitfaden von NVIDIA für GeForce-/Quadro-/RTX-GPUs. In diesem Handbuch werden DDA-basierte GPUs wie NVIDIA T4 oder A2 nicht behandelt.