HeadlinesBriefing favicon HeadlinesBriefing.com

virtio-nvgpu : Accès GPU NVIDIA quasi natif dans KVM

Hacker News •
×

Nestrilabs a publié virtio-nvgpu, un périphérique virtio expérimental permettant un accès quasi natif au GPU NVIDIA à l'intérieur des machines virtuelles KVM. Un invité effectue le rendu à moins de 2 % des performances bare metal tout en coûtant le même CPU. Le projet transmet les ioctls du pilote noyau NVIDIA entre un invité Linux et l'hôte au niveau de l'ABI du pilote, contournant entièrement la traduction au niveau API. L'invité exécute les propres pilotes en mode utilisateur non modifiés de NVIDIA.

Le cas d'utilisation cible est le streaming headless : un compositeur à l'intérieur de la VM effectue le rendu, la composition et l'encodage des images sur le GPU, puis envoie la vidéo compressée vers l'extérieur. Mesuré sur une RTX 3060 avec le pilote 595.99.02, un invité correspond au bare metal dans le bruit pour les images supérieures à 2 ms. L'utilisation du CPU est identique — rien n'est dépensé pour la transmission dans la boucle de rendu.

Quatre invités sur une carte partagent uniformément à 25,84, 26,49, 25,57 et 25,79 ips, totalisant 103,7 contre 102,9 pour un seul invité. La répartition est uniforme jusqu'à quatre décimales. Quatre est ce qui a été testé, pas une limite. CUDA est transmis mais non testé au-delà de l'énumération. Le dépôt est divisé entre GPL-2.0 pour le module noyau de l'invité et Apache-2.0 pour la crate Rust côté hôte.