KVMゲスト内でNVIDIA GPUをほぼネイティブ性能で使えるvirtio-nvgpu
Virtio-nvgpu: Near-native Nvidia GPU access inside a KVM guest
nestrilabs/virtio-nvgpuは、NVIDIAカーネルドライバのioctlをドライバABIレベルで転送し、API翻訳を回避する実験的なvirtioデバイス。ゲストはNVIDIAのユーザーモードドライバをそのまま実行し、VulkanやNVENCを利用可能。RTX 3060上でゲストのフレーム時間はベアメタル比2%以内、CPUコストも同等。4ゲスト同時でも性能が均等に分散し、H.264エンコードも同時実行できる。
Above about 2 ms a frame — which is every frame a game draws — a guest is within 2% of bare metal.
HNでの議論
31- vsviridov
これはProxmoxで使えますか?
- mjg59
うーん、IOMMUで制限されたパススルーがない場合、カードがホストに対してどの程度のアクセス権を持つのかについての議論が不足しているようだ。
- mcmatterson
素晴らしいプロジェクト!でも、あのREADMEはまさにLLMの言葉のサラダの教科書的な例だな。これらのツールが多くのことにおいて信じられないほど有能である一方で、その文章が際立って浮いて見えるのはすごいことだ。
- orphereus
なぜ通常のGPUパススルーを使わないのか?これを使って複数のVM間でGPUを共有できるとは思えないが、vfio-pciドライバを使った通常のGPUパススルーと比べてこのソフトウェアを使う利点は何なのか?
- markasoftware
これはgVisorのnvproxyとどう違うのか? https://gvisor.dev/docs/user_guide/gpu/#compatibility
編集:nvproxyはreadmeで「直接のインスピレーション」として言及されているが、これがどう違うのか、なぜバックエンドとしてnvproxyを使わないのかについては言及されていない。