virtio-nvgpu permite acceso nativo a GPUs NVIDIA en máquinas virtuales KVM

Fuentes: virtio-nvgpu enables near-native NVIDIA GPU access in KVM virtual machines

virtio-nvgpu es un dispositivo virtio experimental que permite a las máquinas virtuales KVM acceder a GPUs NVIDIA con rendimiento cercano al nativo, sin traducir la API gráfica. A diferencia de soluciones anteriores que serializaban llamadas de Vulkan o OpenGL, este proyecto opera a nivel de drivers de kernel, permitiendo que los usuarios finales utilicen sus propios controladores de usuario, Vulkan y NVENC sin modificaciones. El objetivo principal es el streaming sin monitor, donde el compositor dentro de la VM renderiza, compila y codifica video en la GPU, enviando solo el bitstream comprimido al exterior.

Las pruebas realizadas con una RTX 3060 muestran que, para cargas de trabajo de 2 ms o menos por frame, el tiempo de renderizado en la VM es inferior al 2% del rendimiento en hardware nativo, manteniendo el mismo consumo de CPU. Por ejemplo, en un ciclo de renderizado de 39 ms, la VM fue un 0,4% más rápida que el host. El sistema soporta hasta cuatro VMs simultáneas en una sola tarjeta, cada una codificando H.264 a 60 Hz sin alcanzar límites de sesión. La arquitectura se divide en tres zonas de licencia: el módulo de kernel de la VM es GPL-2.0, mientras que el dispositivo virtio y el aislador son Apache-2.0, diseñados para ser agnósticos del VMM y compatibles con múltiples monitores virtuales.