Qu'est-ce qu'une carte graphique virtuelle (vGPU) ?
Une carte graphique virtuelle (vGPU) est un GPU émulé par logiciel qui présente une interface graphique standard (OpenGL, Vulkan, DirectX, CUDA) à un OS invité ou application, tout en exécutant le rendu sur ressources hôtes partagées (CPU, RAM système, ou GPU physique via SR-IOV / passage médiatisé).
Types d'architecture
| Type | Fonctionnement | Performance | Cas d'usage |
|---|---|---|---|
| Rendu logiciel (llvmpipe, SwiftShader) | CPU exécute shaders JIT → framebuffer en RAM | Faible (OpenGL 4.x, pas accel HW) | CI headless, clients légers, VMs sans GPU |
| GPU virtualisé (NVIDIA vGPU, AMD MxGPU, Intel GVT-g) | GPU physique partitionné via SR-IOV / passage médiatisé ; chaque VM obtient périphérique PCIe virtuel | Proche natif (support API complet) | VDI, cloud gaming, notebooks IA/ML, CAO |
| Remoting API (Virgl, DXGK) | Driver invité traduit appels API → driver hôte exécute | Modéré (latence, sous-ensemble fonctionnalités) | VMs Linux sur Windows/macOS, Chrome OS Crostini |
Limites clés vs GPU physique
- Pas de VRAM dédiée — utilise RAM système (plus lente, partagée).
- Surcoût CPU pour gestion tampons commandes.
- Manques fonctionnels : ray tracing, cœurs tenseurs, encodage/décodage vidéo souvent indisponibles ou lents.
- Licences : NVIDIA vGPU nécessite licence par VM (10–50 $/mois).
Quand utiliser
- VDI / DaaS (VMware Horizon, Citrix, Azure Virtual Desktop) — nombreux utilisateurs, un GPU.
- Pipelines CI/CD nécessitant tests GPU sans matériel physique.
- Périphériques edge / clients légers sans slot PCIe.
- Environnements dev où GPU optionnel.
