1つのGPUを複数の仮想GPUに分割して利用する技術
GPUパーティショニングは、単一の物理GPUを複数の独立した仮想GPU(vGPU)に分割し、複数のユーザーやアプリケーションが同時に利用できるようにする技術です。クラウドやVDI環境で重要な役割を果たします。
# プロファイル例(RTX A5000)
nvidia-smi vgpu -c
- A5000-1Q: 1GB VRAM, 1仮想GPU
- A5000-2Q: 2GB VRAM, 12仮想GPU
- A5000-4Q: 4GB VRAM, 6仮想GPU
- A5000-8Q: 8GB VRAM, 3仮想GPU
# Windows Server 2022での設定
Add-VMGpuPartitionAdapter -VMName "VM1"
Set-VMGpuPartitionAdapter -VMName "VM1" -MinPartitionVRAM 1024MB -MaxPartitionVRAM 2048MB
| ユーザータイプ | vGPUプロファイル | 用途 | |--------------|----------------|------| | 一般オフィス | 1GB vGPU | Office、Web | | パワーユーザー | 2-4GB vGPU | 軽CAD、開発 | | デザイナー | 8GB vGPU | 3D CAD、動画 | | AI開発者 | 16GB+ vGPU | 機械学習 |
# CUDA MPS(Multi-Process Service)例
# 複数プロセスでGPU共有
os.environ['CUDA_MPS_PIPE_DIRECTORY'] = '/tmp/nvidia-mps'
os.environ['CUDA_MPS_LOG_DIRECTORY'] = '/tmp/nvidia-log'
| 方式 | 性能影響 | 適用範囲 | |------|---------|---------| | SR-IOV | 1-3% | エンタープライズ | | vGPU | 5-10% | 商用全般 | | GPU-P | 10-15% | Windows環境 | | MPS | 2-5% | CUDA専用 |
# NVIDIA vGPU監視
nvidia-smi vgpu -q
# 使用率、温度、エラー確認
# GPU使用統計
nvidia-smi vgpu -p
# プロセスごとの使用状況