HeadlinesBriefing favicon HeadlinesBriefing.com

virtio-nvgpu: KVMでNVIDIA GPUにニアネイティブアクセス

Hacker News •
×

Nestrilabsはvirtio-nvgpuを公開しました。これは、KVM仮想マシン内でNVIDIA GPUへのニアネイティブアクセスを可能にする実験的なvirtioデバイスです。ゲストはベアメタル性能の2%以内でレンダリングし、同じCPUコストで動作します。このプロジェクトは、Linuxゲストとホスト間でNVIDIAカーネルドライバーのioctlをドライバーABIレベルで転送し、APIレベルの変換を完全にバイパスします。ゲストはNVIDIA独自の未変更ユーザーモードドライバーを実行します。

ターゲットユースケースはヘッドレスストリーミングです:VM内のコンポジターがGPU上でレンダリング、合成、フレームのエンコードを行い、圧縮ビデオを出力します。ドライバー595.99.02搭載のRTX 3060で測定したところ、2ミリ秒以上のフレームでは、ゲストはノイズの範囲内でベアメタルと同等の性能を示しました。CPU使用率は同一です——レンダリングループでは転送にコストがかかりません。

1枚のカード上で4つのゲストが均等に共有し、それぞれ25.84、26.49、25.57、25.79fpsで、合計103.7fpsとなり、単一ゲストの102.9fpsを上回りました。分配は小数点以下4桁まで均等です。4はテストされた数であり、制限ではありません。CUDAは転送されますが、列挙以上のテストは行われていません。リポジトリは、ゲストカーネルモジュールがGPL-2.0、ホスト側のRustクレートがApache-2.0で分割されています。