Virtio-nvgpu: KVMゲスト内でNVIDIA GPUへのほぼネイティブなアクセスを実現
Virtio-nvgpu: Near-native Nvidia GPU access inside a KVM guest
Virtio-nvgpuは、KVMゲスト内でNVIDIA GPUへのほぼネイティブなアクセスを可能にする技術です。ゲストOSはNVIDIAのユーザーモードドライバをそのまま使用し、APIレベルの翻訳を完全にバイパスして、ホストとゲスト間でNVIDIAカーネルドライバのioctlを転送します。これにより、ゲストOSはGPU上でレンダリング、コンポジット、エンコードを行い、圧縮されたビデオストリームをホストに送信できます。RTX 3060での測定では、GPUバウンドなワークロードにおいて、ベアメタルと比較して2%以内のパフォーマンスを実現し、CPU使用率も同等でした。この技術は、特にヘッドレスストリーミング用途をターゲットとしており、ゲストOSは物理ディスプレイを持たず、GPUリソースへのドライバレベルでのアクセスが可能です。ライセンスは、ゲストドライバがGPL、ホスト側のvirtioデバイスがApache-2.0、共有定義がBSD-3-ClauseまたはGPL-2.0+となっています。
- Virtio-nvgpuはKVMゲストからNVIDIA GPUへほぼネイティブなアクセスを可能にし、APIレベルの翻訳を完全にバイパスしてホストとゲスト間でNVIDIAカーネルドライバのioctlを転送する
- RTX 3060での測定で、GPUバウンドなワークロードはベアメタル比2%以内の性能を達成し、CPU使用率も同等だった
- ゲストOSはNVIDIAのユーザーモードドライバをそのまま使用し、レンダリング・コンポジット・エンコードを行い圧縮ビデオストリームをホストへ送信でき、ヘッドレスストリーミング用途をターゲットとする
- ライセンスはゲストドライバがGPL、ホスト側virtioデバイスがApache-2.0、共有定義がBSD-3-ClauseまたはGPL-2.0+という構成
GPU仮想化のオーバーヘッドをほぼゼロにした点は、クラウドGPU事業の収益性と単位コストに直結する。APIレベルの翻訳を挟まずホスト側でカーネルドライバのioctlを転送し、RTX 3060実測でベアメタル比2%以内という数値は、GPUaaSやヘッドレスなクラウドゲーミング/レンダリングファームの差別化要因になり得る。NVIDIAのユーザーモードドライバを改変せずそのまま使える設計は、CUDA資産とドライバ互換性を維持したまま仮想化できることを意味し、マルチテナントGPU基盤のコスト構造を変える可能性がある。ただし現状はオープンソースのプロトタイプ的色彩が強く、商用ハイパースケーラへの採用動向とNVIDIA側の姿勢(ライセンス/サポート)を継続的に確認したい。