Accelerazione della GPU per Azure IoT Edge per Linux in Windows
Si applica a: IoT Edge 1.1
Importante
La data di fine del supporto di IoT Edge 1.1 è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.
Le GPU sono una scelta comune per i calcoli di intelligenza artificiale, perché offrono funzionalità di elaborazione parallele e spesso possono eseguire inferenze basate su visione più velocemente rispetto alle CPU. Per supportare meglio l'intelligenza artificiale e le applicazioni di Machine Learning, Azure IoT Edge per Linux in Windows (EFLOW) può esporre 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 per l'utente finale NVIDIA.
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à potrebbe richiedere versioni specifiche di Windows.
Le GPU supportate e le versioni di Windows necessarie sono elencate di seguito:
GPU supportate | Tipo pass-through GPU | Versioni supportate di Windows |
---|---|---|
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) |
Importante
Il supporto GPU-PV 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.
Gli utenti di Windows Server 2019 devono usare la build minima 17763 con tutti gli aggiornamenti cumulativi correnti installati.
Gli utenti di Windows 10 devono usare l'aggiornamento di novembre 2021 build 19044.1620 o versione successiva. Dopo l'installazione, è possibile verificare la versione di compilazione eseguendo winver
nel 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 installazione e installazione, in base alla GPU.
NVIDIA T4/A2 GPUs
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 del dispositivo 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.
NVIDIA GeForce/Quadro/RTX GPUs
Per le GPU NVIDIA GeForce/Quadro/RTX, scaricare e installare il driver abilitato per NVIDIA CUDA per sottosistema Windows per Linux (WSL) da usare con i flussi di lavoro CUDA ML esistenti. Originariamente sviluppato per WSL, il CUDA per i driver WSL viene usato anche per Azure IoT Edge per Linux in Windows.
Gli utenti di Windows 10 devono anche installare WSL perché alcune delle 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.
Gli utenti di Windows 10 devono anche installare WSL perché alcune delle 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, è possibile creare la distribuzione di Azure IoT Edge per Linux in Windows. Durante questo processo, è necessario abilitare la GPU come parte della distribuzione EFLOW.
Ad esempio, il comando seguente crea una macchina virtuale con una GPU NVIDIA A2 assegnata.
Deploy-Eflow -gpuPassthroughType "DirectDeviceAssignment" -gpuCount 1 -gpuName "NVIDIA A2"
Al termine dell'installazione, è possibile distribuire ed eseguire moduli Linux con accelerazione GPU tramite Azure IoT Edge per Linux in Windows.
Passaggi successivi
Provare l'esempio abilitato per la GPU con Vision on Edge, un modello di soluzione che illustra come creare un'applicazione di Machine Learning basata su visione personalizzata.
Informazioni su come eseguire applicazioni Intel OpenVINO in EFLOW seguendo la guida di Intel su iGPU con Azure IoT Edge per Linux in Windows (EFLOW) & OpenVINO Toolkit e implementazioni di riferimento.
Per altre informazioni sulle tecnologie pass-through GPU, vedere la documentazione di DDA e il post di blog GPU-PV.