把一块显卡交给虚拟机,过去常像把整间厨房只借给一位厨师:速度快,却难以共享。virtio-nvgpu换了一种做法。它在KVM虚拟机——一台物理机里隔离运行的操作系统——与宿主机之间转发NVIDIA驱动指令,让客户机继续使用未经修改的原厂用户态驱动,同时由宿主机保留显卡。
项目方在RTX 3060上实测:当每帧渲染耗时约2毫秒以上时,客户机与裸机的差距在2%以内;约100 fps连续运行12秒,客户机消耗0.37秒CPU时间,裸机为0.40秒。关键在于,日常渲染循环并不反复跨越虚拟机边界:813,691帧只触发13,792次后端消息,约59帧一次,而且大多发生在设备初始化阶段。
代价是隔离并不等同于GPU直通的硬件边界。项目明确称,客户机与宿主机之间没有IOMMU隔离,宿主机的NVIDIA驱动属于可信计算基础;目前只会转发ABI配置明确描述的指令。换句话说,它展示了本地AI与串流负载低开销共享GPU的可能性,但安全边界仍需谨慎评估。