Pianificare l'accelerazione GPU in Windows Server

Si applica a: Windows Server 2022, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019

Questo articolo presenta le funzionalità di virtualizzazione grafica disponibili in Windows Server.

Quando usare l'accelerazione GPU

A seconda del carico di lavoro, è consigliabile prendere in considerazione l'accelerazione GPU. Ecco cosa considerare prima di scegliere l'accelerazione GPU:

  • Carichi di lavoro di comunicazione remota per app e desktop (VDI/DaaS): se si sta creando un servizio remoto desktop o app con Windows Server, considerare il catalogo delle app che si prevede che gli utenti vengano eseguiti. Alcuni tipi di app, ad esempio app CAD/CAM, app di simulazione, giochi e app di rendering/visualizzazione, si basano principalmente sul rendering 3D per offrire interattività fluide e reattive. La maggior parte dei clienti considera le GPU una necessità per un'esperienza utente ragionevole con questi tipi di app.
  • Rendering remoto, codifica e carichi di lavoro di visualizzazione: questi carichi di lavoro orientati alla grafica tendono a basarsi principalmente sulle funzionalità specializzate di una GPU, ad esempio il rendering 3D efficiente e la codifica/decodifica dei frame, per ottenere obiettivi di efficienza e velocità effettiva. Per questo tipo di carico di lavoro, una singola macchina virtuale abilitata per gpu può corrispondere alla velocità effettiva di molte macchine virtuali solo CPU.
  • Carichi di lavoro HPC e ML: per carichi di lavoro computazionali altamente paralleli ai dati, ad esempio il calcolo ad alte prestazioni e il training o l'inferenza del modello di Machine Learning, le GPU possono ridurre notevolmente il tempo di risultato, il tempo di inferenza e il tempo di training. In alternativa, possono offrire una migliore efficienza dei costi rispetto a un'architettura solo CPU a un livello di prestazioni paragonabile. Molti framework HPC e Machine Learning hanno un'opzione per abilitare l'accelerazione GPU; valutare se questo potrebbe trarre vantaggio dal carico di lavoro specifico.

Virtualizzazione GPU in Windows Server

Le tecnologie di virtualizzazione GPU consentono l'accelerazione GPU in un ambiente virtualizzato, in genere all'interno delle macchine virtuali. Se il carico di lavoro è virtualizzato con Hyper-V, sarà necessario usare la virtualizzazione grafica per fornire l'accelerazione GPU dalla GPU fisica alle app o ai servizi virtualizzati. Tuttavia, se il carico di lavoro viene eseguito direttamente su host fisici di Windows Server, non è necessario eseguire la virtualizzazione della grafica; le app e i servizi hanno già accesso alle funzionalità e alle API GPU supportate in modo nativo in Windows Server.

Le tecnologie di virtualizzazione grafica seguenti sono disponibili per le macchine virtuali Hyper-V in Windows Server:

Oltre ai carichi di lavoro delle macchine virtuali, Windows Server supporta anche l'accelerazione GPU dei carichi di lavoro in contenitori di Windows. Per altre informazioni, vedere Accelerazione GPU nei contenitori Windows.

Assegnazione di dispositivi discreti (DDA)

L'assegnazione di dispositivi discreti ,nota anche come pass-through GPU, consente di dedicare una o più GPU fisiche a una macchina virtuale. In una distribuzione DDA, i carichi di lavoro virtualizzati vengono eseguiti nel driver nativo e in genere hanno accesso completo alle funzionalità della GPU. DDA offre il massimo livello di compatibilità delle app e potenziali prestazioni. DDA può anche fornire l'accelerazione GPU alle macchine virtuali Linux, soggetto al supporto.

Una distribuzione DDA può accelerare solo un numero limitato di macchine virtuali, poiché ogni GPU fisica può fornire accelerazione al massimo a una macchina virtuale. Se si sta sviluppando un servizio la cui architettura supporta macchine virtuali condivise, prendere in considerazione l'hosting di più carichi di lavoro accelerati per macchina virtuale. Ad esempio, se si sta creando un servizio remoto desktop con Servizi Desktop remoto, è possibile migliorare la scalabilità degli utenti sfruttando le funzionalità multisessione di Windows Server per ospitare più desktop utente in ogni macchina virtuale. Questi utenti condivideranno i vantaggi dell'accelerazione GPU.

Per altre informazioni, consultare i seguenti argomenti:

RemoteFX vGPU

Nota

A causa di problemi di sicurezza, RemoteFX vGPU è disabilitato per impostazione predefinita in tutte le versioni di Windows a partire dal 14 luglio 2020 Security Update e rimosso a partire dall'aggiornamento della sicurezza del 13 aprile 2021. Per altre informazioni, vedere KB 4570006.

RemoteFX vGPU è una tecnologia di virtualizzazione grafica che consente la condivisione di una singola GPU fisica tra più macchine virtuali. In una distribuzione vGPU RemoteFX, i carichi di lavoro virtualizzati vengono eseguiti nella scheda 3D RemoteFX di Microsoft, che coordina le richieste di elaborazione GPU tra l'host e gli utenti guest. RemoteFX vGPU è più adatto per i carichi di lavoro di knowledge worker e burst elevato in cui non sono necessarie risorse GPU dedicate. RemoteFX vGPU può fornire solo l'accelerazione GPU alle macchine virtuali Windows.

Per altre informazioni, consultare i seguenti argomenti:

Confronto tra DDA e RemoteFX vGPU

Quando si pianifica la distribuzione, considerare le funzionalità seguenti e le differenze di supporto tra le tecnologie di virtualizzazione grafica:

Descrizione RemoteFX vGPU Assegnazione di dispositivi discreti
Modello di risorse GPU Dedicato o condiviso Solo dedicato
Densità di macchine virtuali Elevato (una o più GPU a molte macchine virtuali) Basso (una o più GPU a una macchina virtuale)
Compatibilità delle app DX 11.1, OpenGL 4.4, OpenCL 1.1 Tutte le funzionalità della GPU offerte dal fornitore (DX 12, OpenGL, CUDA)
AVC444 Abilitata per impostazione predefinita Disponibile tramite Criteri di gruppo
VRAM della GPU Fino a 1 GB di VRAM dedicata Fino a livello di VRAM supportata dalla GPU
Frequenza dei fotogrammi Fino a 30 fps Fino a 60 fps
Driver GPU nel guest Driver display adattatore 3D RemoteFX (Microsoft) Driver fornitore GPU (NVIDIA, AMD, Intel)
Supporto del sistema operativo host Windows Server 2016 Windows Server 2016; Windows Server 2019
Supporto del sistema operativo guest Windows Server 2012 R2; Windows Server 2016; Windows 7 SP1; Windows 8.1; Windows 10 Windows Server 2012 R2; Windows Server 2016; Windows Server 2019; Windows 10; Linux
Hypervisor Microsoft Hyper-V Microsoft Hyper-V
Hardware della GPU GPU enterprise (ad esempio Nvidia Quadro/GRUD o AMD FirePro) GPU enterprise (ad esempio Nvidia Quadro/GRUD o AMD FirePro)
Hardware del server Nessun requisito speciale Server moderno, espone IOMMU al sistema operativo (in genere hardware compatibile con SR-IOV)