Condividi tramite


Accelerazione GPU nei contenitori di Windows

Per molti carichi di lavoro in contenitori, le risorse di calcolo della CPU offrono prestazioni sufficienti. Tuttavia, per una determinata classe di carico di lavoro, la potenza di calcolo parallela elevata offerta dalle GPU (unità di elaborazione grafica) può velocizzare le operazioni in base a ordini di grandezza, riducendo i costi e migliorando immensamente la velocità effettiva.

Le GPU sono già uno strumento comune per molti carichi di lavoro più diffusi, dal rendering tradizionale e dalla simulazione al training e all'inferenza di Machine Learning. I contenitori di Windows supportano l'accelerazione GPU per DirectX e tutti i framework basati su di esso.

Nota

Questa funzionalità è disponibile in Docker Desktop, versione 2.1 e motore Docker - Enterprise, versione 19.03 o successiva.

Prerequisiti

Per il corretto funzionamento di questa funzionalità, l'ambiente deve soddisfare i requisiti seguenti:

  • L'host contenitore deve eseguire Windows Server 2019 o Windows 10 versione 1809 o successiva.
  • L'immagine di base del contenitore deve essere mcr.microsoft.com/windows:1809 o versione successiva. Le immagini container Windows Server Core e Nano Server non sono supportate al momento.
  • L'host contenitore deve eseguire il motore Docker 19.03 o versione successiva.
  • L'host contenitore deve avere una GPU che esegua i driver grafici versione WDDM 2.5 o successiva.

Per controllare la versione WDDM dei driver di visualizzazione, eseguire lo strumento di diagnostica di DirectX (dxdiag.exe) sull'host del container. Nella scheda "Display" dello strumento, cercate nella sezione "Drivers" come indicato di seguito.

Screenshot del modello di driver disponibile nella scheda Visualizzazione.

Eseguire un container con accelerazione della GPU

Per avviare un contenitore con accelerazione GPU, eseguire il comando seguente:

docker run --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows:1809

Importante

DirectX (e tutti i framework basati su di esso) sono le uniche API che possono essere accelerate con una GPU oggi. I framework di terze parti non sono supportati.

Supporto di contenitori Windows isolati Hyper-V

L'accelerazione GPU per i carichi di lavoro nei contenitori Windows isolati hyper-V non è attualmente supportata.

Supporto per contenitori Linux isolati da Hyper-V

L'accelerazione GPU per i carichi di lavoro nei contenitori Linux isolati hyper-V non è attualmente supportata.

Altre informazioni

Per un esempio completo di un'app DirectX in contenitori che sfrutta l'accelerazione GPU, vedere esempio di contenitore DirectX.