Qué es una tarjeta gráfica virtual (vGPU)

Una tarjeta gráfica virtual (vGPU) es una GPU emulada por software que presenta una interfaz gráfica estándar (OpenGL, Vulkan, DirectX, CUDA) a un SO invitado o aplicación, mientras ejecuta renderizado en recursos compartidos del host (CPU, RAM sistema, o GPU física vía SR-IOV / paso mediado).

Tipos de arquitectura

TipoCómo funcionaRendimientoCaso uso
Renderizador software (llvmpipe, SwiftShader)CPU ejecuta shader JIT → framebuffer en RAMBajo (OpenGL 4.x, sin aceleración HW)CI headless, clientes ligeros, VMs sin GPU
GPU virtualizada (NVIDIA vGPU, AMD MxGPU, Intel GVT-g)GPU física particionada vía SR-IOV / paso mediado; cada VM obtiene dispositivo PCIe virtualCasi nativo (soporte API completo)VDI, cloud gaming, notebooks IA/ML, CAD
Remoting API (Virgl, DXGK)Driver invitado traduce llamadas API → driver host ejecutaModerado (latencia, subconjunto características)VMs Linux en Windows/macOS, Chrome OS Crostini

Limitaciones clave vs GPU física

  • Sin VRAM dedicada — usa RAM sistema (más lenta, compartida).
  • Sobrecarga CPU para gestión command buffer.
  • Brechas características: ray tracing, tensor cores, codificación/decodificación vídeo a menudo no disponibles o lentas.
  • Licencias: NVIDIA vGPU requiere licencia por VM ($10–$50/mes).

Cuándo usar

  • VDI / DaaS (VMware Horizon, Citrix, Azure Virtual Desktop) — muchos usuarios, una GPU.
  • Pipelines CI/CD que necesitan tests GPU sin hardware físico.
  • Dispositivos edge / clientes ligeros sin ranura PCIe.
  • Entornos desarrollo donde GPU es opcional.