Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1,4 LTS ha raggiunto la fine della vita il 12 novembre 2024. Se si usa una versione precedente, vedere Update IoT Edge.
Le GPU sono una scelta comune per i calcoli di intelligenza artificiale perché offrono funzionalità di elaborazione parallele e spesso eseguono inferenze basate su visione più velocemente rispetto alle CPU. Per supportare l'intelligenza artificiale e le applicazioni di Machine Learning, Azure IoT Edge per Linux in Windows (EFLOW) espone una GPU al modulo Linux della macchina virtuale.
Azure IoT Edge per Linux in Windows supporta diverse tecnologie pass-through GPU, tra cui:
Assegnazione diretta di dispositivi: i core GPU vengono allocati alla macchina virtuale Linux o all'host.
GPU-Paravirtualization (GPU-PV): la GPU viene condivisa tra la macchina virtuale Linux e l'host.
È necessario selezionare il metodo pass-through appropriato durante la distribuzione in modo che corrisponda alle funzionalità supportate dell'hardware GPU del dispositivo.
Importante
Queste funzionalità possono includere componenti sviluppati e di proprietà di NVIDIA Corporation o dei suoi licenze. L'uso dei componenti è disciplinato dal Contratto di licenza per l'utente finale NVIDIA disponibile nel sito Web NVIDIA.
Usando le funzionalità di accelerazione GPU, si accettano e si accettano le condizioni del Contratto di licenza NVIDIA End-User.
Prerequisiti
Le funzionalità di accelerazione GPU di Azure IoT Edge per Linux in Windows supportano attualmente un set selezionato di hardware GPU. Inoltre, l'uso di questa funzionalità può richiedere versioni specifiche di Windows.
Le GPU supportate e le versioni di Windows necessarie sono:
| GPU supportate | Tipo di pass-through GPU | Versioni di Windows supportate |
|---|---|---|
| NVIDIA T4, A2 | DDA | Windows Server 2019 Windows Server 2022 Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
| NVIDIA GeForce, Quadro, RTX | GPU-PV (Virtualizzazione della GPU) | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
| Intel iGPU | GPU-PV (Virtualizzazione della GPU) | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
Importante
GPU-PV supporto può essere limitato a determinate generazioni di processori o architetture GPU, come determinato dal fornitore della GPU. Per altre informazioni, vedere la documentazione del driver iGPU di Intel o la documentazione CUDA di NVIDIA per WSL.
Windows Server 2019 gli utenti devono usare la build minima 17763 con tutti gli aggiornamenti cumulativi correnti installati.
Windows 10 gli utenti devono usare l'aggiornamento November 2021 build 19044.1620 o versione successiva. Dopo l'installazione, controllare la versione della build eseguendo winver al prompt dei comandi.
Il pass-through GPU non è supportato con la virtualizzazione annidata, ad esempio l'esecuzione di EFLOW in una macchina virtuale Windows.
Configurazione e installazione di sistema
Le sezioni seguenti contengono informazioni di impostazione e installazione, a seconda della tua GPU.
GPU NVIDIA T4/A2
Per le GPU T4/A2, Microsoft consiglia di installare un driver di mitigazione dei dispositivi dal fornitore della GPU. Anche se facoltativo, l'installazione di un driver di mitigazione può migliorare la sicurezza della distribuzione. Per altre informazioni, vedere Distribuire dispositivi grafici usando l'assegnazione diretta dei dispositivi.
Avviso
L'abilitazione del pass-through dei dispositivi hardware può aumentare i rischi per la sicurezza. Microsoft consiglia l'uso di un driver di mitigazione dei dispositivi prodotto dal fornitore della GPU, se applicabile. Per altre informazioni, vedere Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.
GPU NVIDIA GeForce/Quadro/RTX
Per le GPU NVIDIA GeForce/Quadro/RTX, scarica e installa il driver NVIDIA CUDA abilitato per Windows Subsystem for Linux (WSL) per utilizzarlo con i tuoi flussi di lavoro CUDA ML esistenti. Originariamente sviluppato per WSL, il CUDA per i driver WSL viene usato anche con Azure IoT Edge per Linux in Windows.
Windows 10 gli utenti devono anche installare WSL perché alcune librerie sono condivise tra WSL e Azure IoT Edge per Linux in Windows.
Intel iGPU
Per Intel iGPU, scaricare e installare Intel Graphics Driver con supporto GPU WSL.
Windows 10 gli utenti devono anche installare WSL perché alcune librerie sono condivise tra WSL e Azure IoT Edge per Linux in Windows.
Abilitare l'accelerazione GPU nella distribuzione di Azure IoT Edge Linux in Windows
Al termine dell'installazione del sistema, iniziare a creare la distribuzione di Azure IoT Edge per Linux in Windows. Durante questo processo, abilitare il supporto GPU come parte della distribuzione EFLOW.
Ad esempio, questi comandi creano una macchina virtuale abilitata per la GPU con una GPU NVIDIA A2 o una scheda grafica 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"
Per trovare il nome della GPU, eseguire questo comando o cercare Adattatori video in Gestione dispositivi.
(Get-WmiObject win32_VideoController).caption
Al termine dell'installazione, distribuire ed eseguire moduli Linux con accelerazione GPU tramite Azure IoT Edge per Linux in Windows.
Configurare l'accelerazione GPU in una distribuzione Azure IoT Edge Linux Windows esistente
Assegna la GPU al momento del deployment per un'esperienza più semplice. Per abilitare o disabilitare la GPU dopo la distribuzione, usare il set-eflowvm comando . Quando si usa set-eflowvm, il parametro predefinito viene usato per qualsiasi argomento non specificato. ad esempio:
# 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
Passaggi successivi
Provare gli esempi di GPU dagli esempi EFLOW. Questi esempi mostrano scenari comuni di produzione e vendita al dettaglio, ad esempio il rilevamento dei difetti, la sicurezza dei lavoratori e la gestione dell'inventario. Questi esempi open source possono essere un modello di soluzione per la creazione di un'applicazione di Machine Learning basata su visione personalizzata.
Altre informazioni sulle tecnologie pass-through GPU sono disponibili nella documentazione di DDA e GPU-PV post di blog.
Diversi fornitori di GPU forniscono guide utente per ottenere il massimo dall'hardware e dal software con EFLOW:
- Scopri come eseguire applicazioni Intel OpenVINO™ in EFLOW seguendo la guida di Intel su iGPU con Azure IoT Edge per Linux in Windows (EFLOW) e OpenVINO™ Toolkit.
- Introduzione alla distribuzione di applicazioni con accelerazione CUDA in EFLOW seguendo la Guida per l'utente EFLOW di NVIDIA per le GPU GeForce/Quadro/RTX. Questa guida non include GPU basate su DDA come NVIDIA T4 o A2.