Share via


Accelerazione GPU nei contenitori di Windows

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

Le GPU sono già uno strumento comune per i carichi di lavoro più diffusi, dal rendering e dalla simulazione tradizionali alla formazione e all'inferenza di machine learning. I contenitori di Windows supportano l'accelerazione GPU per DirectX e tutti i framework basati su di essa.

Nota

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

Requisiti

Per il 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 successive.
  • L'immagine di base del contenitore deve essere mcr.microsoft.com/windows:1809 o successive. Le immagini contenitore di Windows Server Core e Nano Server non sono attualmente supportate.
  • L'host contenitore deve eseguire il motore Docker 19.03 o versioni successive.
  • L'host contenitore deve avere una GPU che esegue i driver di visualizzazione versione WDDM 2.5 o successive.

Per verificare la versione di WDDM dei driver di visualizzazione, esegui lo strumento di diagnostica DirectX (dxdiag.exe) nell'host contenitore. Nella scheda "Display" dello strumento cercare nella sezione "Driver" come indicato di seguito.

Screenshot of the Driver Model found in the Display tab.

Eseguire un contenitore con accelerazione GPU

Per avviare un contenitore con accelerazioneGPU, usa 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 attualmente essere accelerate con una GPU. I framework di terze parti non sono supportati.

Supporto di contenitori di Windows con isolamento Hyper-V

L'accelerazione GPU per i carichi di lavoro nei contenitori di Windows con isolamento Hyper-V non è attualmente supportata.

Supporto di contenitori di Linux con isolamento Hyper-V

L'accelerazione GPU per i carichi di lavoro nei contenitori di Linux con isolamento Hyper-V non è attualmente supportata.

Altre informazioni

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