NVIDIA GPUのMIGとvGPUの違いについて

2024/10/25に公開

NVIDIAのMIG(Multi-Instance GPU)とvGPU(Virtual GPU)は、どちらも単一の物理GPUを複数の仮想インスタンスとして分割して利用できるようにする技術ですが、異なるユースケースと技術的アプローチを持っています。以下、それぞれの特徴と相違点について説明します。

1. MIG (Multi-Instance GPU)

MIGは主にNVIDIA A100やH100などのデータセンター向けGPUで使用される機能です。この技術は、物理GPUを最大7つの完全に分離されたGPUインスタンスに分割することで、各インスタンスが独立したメモリ、キャッシュ、帯域幅などのリソースを持ち、互いに干渉することなく運用できるようにしています。

  • リソースの分離: 各インスタンスが専用のメモリ、キャッシュ、帯域幅を持つため、ワークロードが完全に独立しています。これにより、あるインスタンスの負荷が他のインスタンスに影響を及ぼしません。
  • ユースケース: ディープラーニングや推論、科学技術計算などで、異なるワークロードが独立して動作する環境に最適です。特に複数の小規模な推論ジョブを同時に実行したい場合に適しています。
  • サポートされるハードウェア: MIGはA100やH100などのAmpereおよびHopperアーキテクチャのGPUでサポートされています。
  • 仮想化層の有無: MIGはハードウェアレベルでの分割であるため、仮想化レイヤーを必要としません。そのため、オーバーヘッドが少なく、ネイティブに近い性能が得られます。

2. vGPU (Virtual GPU)

vGPUは、主に仮想デスクトップインフラストラクチャ(VDI)やクラウド上のグラフィックス・レンダリングを目的に、物理GPUを複数の仮想マシンで共有できるようにする技術です。NVIDIA vGPUソフトウェアを使用して、GPUを複数の仮想マシンに割り当て、各VMが専用の仮想GPUにアクセスできるようにします。

  • リソースの共有: 各VMに対してGPUリソースを動的に割り当てるため、リソースの分離はMIGほど完全ではありません。しかし、異なるVM間で効率的にGPUリソースを共有できるようになっています。
  • ユースケース: グラフィックを多用する仮想デスクトップ(例えば3Dモデリング、CAD、ビデオ編集)、ゲームストリーミング、およびクラウドでのGPUアクセラレーションを必要とするアプリケーションに最適です。
  • サポートされるハードウェア: vGPUは幅広いNVIDIA GPUでサポートされており、データセンター向けのA100、V100に加え、QuadroシリーズやRTXシリーズなども対応しています。
  • 仮想化層の必要性: vGPUは仮想化レイヤーを介してリソースを割り当てるため、仮想化ソフトウェア(例:VMware、Citrix、NVIDIA Virtual GPU Manager)と連携して動作します。そのため、vGPUの実装には仮想化環境が前提となります。

3. MIGとvGPUの主な違い

項目 MIG vGPU
リソース分離 ハードウェアレベルでの完全な分離 仮想化レイヤーを介したリソース共有
オーバーヘッド 少ない 仮想化のためやや高い
ユースケース データセンターでの推論・科学計算 VDI、グラフィックレンダリング
サポートGPU A100、H100等 広範なNVIDIA GPU対応

まとめ

MIGは、データセンター環境で高いパフォーマンスが求められるAI推論や計算用途に最適です。一方で、vGPUはデスクトップ仮想化やグラフィック集約型アプリケーションに向いており、広範なNVIDIA GPUに対応しています。どちらを選択するかは、使用するワークロードやリソースの分離要件、仮想化環境の有無によって決まるでしょう。

Discussion