HeadlinesBriefing favicon HeadlinesBriefing.com

virtio-nvgpu:KVM 中近乎原生的 NVIDIA GPU 访问

Hacker News •
×

Nestrilabs 发布了 virtio-nvgpu,这是一种实验性的 virtio 设备,可在 KVM 虚拟机内实现近乎原生的 NVIDIA GPU 访问。客户机渲染性能在裸金属性能的 2% 以内,且 CPU 成本相同。该项目在驱动程序 ABI 层面在 Linux 客户机和宿主机之间转发 NVIDIA 内核驱动程序 ioctl,完全绕过了 API 层面的转换。客户机运行 NVIDIA 自身的未经修改的用户态驱动程序。

目标用例是无头流式传输:VM 内部的合成器在 GPU 上渲染、合成和编码帧,然后发送压缩视频。在配备驱动程序 595.99.02 的 RTX 3060 上测量,对于 2 毫秒以上的帧,客户机在噪声范围内与裸金属性能相当。CPU 使用率相同 —— 渲染循环中没有花费在转发上的开销。

四个客户机在一张显卡上均匀共享,帧率分别为 25.84、26.49、25.57 和 25.79 fps,总计 103.7,而单个客户机为 102.9。分配均匀到小数点后四位。四个是测试的数量,并非限制。CUDA 已转发,但除枚举外未进一步测试。代码库在客户机内核模块采用 GPL-2.0,宿主机端 Rust crate 采用 Apache-2.0。