あらためて、Windows Server 2025 Hyper-VのGPUパーティション分割をいじってみた

>100 Views

March 07, 26

スライド概要

profile-image

主に勉強会の資料を公開しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

SCUGJ 第50回勉強会 ロゴ作成中 2026/03/07 Windows Server and Cloud User Group Japan 後藤 諭史(Satoshi GOTO)

2.

ロゴ作成中 後藤 諭史( Satoshi GOTO )  国内ディストリビューターに転職しました  Microsoft製品中心なソリューションアーキテクトやっています  Microsoft MVP - Cloud and Datacenter Management (Jul.2012 - Jun.2026) Microsoft MVP – Microsoft Azure(Jul.2024 - Jun.2026)  2

3.

ロゴ作成中 本セッション資料ですが、所属会社の環境を一部借用していますが、個人的に実施した検証/結果を基に記載 しています。 あくまで個人の意見/見解であり、所属する会社の正式な回答/見解ではない事に留意してください。 3

4.

ロゴ作成中 4

5.

ロゴ作成中  Windows Server 2025対応ドライバーはVer.18以降 ◦ 当時テストしたドライバーはVer.16系とVer.17系 ◦ 当時使用したドライバーはWindows Server 2022用のDDA(Discrete Device Assignment) ドライバーだった  ハードウェアレベルの対応にもひっかかってたらしい(後述) 5

6.

ロゴ作成中  GPUを仮想マシンに利用させるための手法の一つ ◦ GPU パーティション分割(GPU-P) ◦ 個別のデバイスの割り当て(Discrete Device Assignment:DDA) ◦ RemoteFX vGPU(2021/04/13のアップデートで無効化)  DDAがPCIeデバイス全体を仮想マシンに割り当てるのに対し、GPUを パーティション化して複数の仮想マシンで共有できるのがGPU-P  GPU-PはAzure Stack HCI 22H2(当時)で実装され、Windows Server 2025 でも実装 → DDAはWindows Server 2016 Hyper-Vでも利用可能  ライブマイグレーション対応! → クラスター内で同じGPUで統一する必要あり 6

7.

ロゴ作成中  ドキュメントはこのあたり GPU パーティション分割 https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/gpu-partitioning  Windows Server 2025 Hyper-Vと対応ゲストOSの仮想マシン  対応ハードウェア ◦ シングルルートI/O仮想化(SR-IOV)が利用可能なハードウェア ◦ Above 4G Decodingが利用可能なハードウェア(NVIDIAのドキュメントに記載) ◦ 入出力メモリ管理ユニット (IOMMU) DMA ビット トラッキング対応プロセッサ ◦ 具体的にはIntel VT-DまたはAMD-Viをサポートするプロセッサ ◦ 対応GPUと対応ドライバー ◦ NVIDIA Aシリーズ(NVIDIA A2/A10/A16/A40) ◦ NVIDIA Lシリーズ(NVIDIA L2/L4/L40/L40S) 今のところ、NVIDIA以外のGPUは対応していないっぽい? 7

8.

ロゴ作成中 この辺を有効化 8

9.

ロゴ作成中  手元の検証機で試した限りでは「Intel C610シリーズチップセット」以降で あればGPU-Pは使える模様 ◦ ◦ 前回試したH/WはDELL PowerEdge T320(第12世代PowerEdge) → チップセットは Intel C600シリーズ(Intel X79と同世代) 今回うまくいったH/WはDELL PowerEdge R430(第13世代PowerEdge) → チップセットは Intel C610シリーズ(Intel X99と同世代) → CPUはE5-2609 v3(Haswell)とE5-2630 v4(Brodewell-E)でテスト  理由はIntel C600とIntel C610の実装の違いで、GPU-Pが求めるハードウェア 仕様を満たしていなかったためと考えられる(推測) → MMIOとかACS(アクセス制御サービス)とかその辺らしい…… 9

10.

ロゴ作成中  pnputilコマンドでインストール 10

11.

ロゴ作成中  ホストOSのタスクマネージャーは一切変更なし(GPUは表示されない)  デバイスマネージャー上は、デバイスを認識 11

12.

ロゴ作成中  ドキュメントはこのあたり 仮想マシンへの GPU のパーティション分割と割り当て https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/partition-assign-vm-gpu? tabs=powershell  Hyper-Vホストでパーティション設定実施 コマンドレットは「Set-VMHostPartitionableGpu」 12

13.

ロゴ作成中 13

14.

ロゴ作成中 14

15.

ロゴ作成中  ドキュメントどおりGPUを割り当てる コマンドレットは「 Add-VMGpuPartitionAdapter」  割り当て確認コマンドレットは「Get-VMGpuPartitionAdapter」  ドキュメントの通りに出力されないが、とりあえず仮想マシンを起動…… こんな感じに出力されるらしい…… 15

16.

ロゴ作成中 16

17.

ロゴ作成中  正常起動し、Display Controllerが認識されている PowerShellで設定 WACで設定 17

18.

ロゴ作成中  GPUが認識されているため、インストールOK PowerShellで設定 WACで設定 18

19.

ロゴ作成中  ドライバーインストール後、仮想マシン上でGPUが正常に認識  仮想マシンが起動していると、「Get-VMGpuPartitionAdapter」コマンド レットも正常に値を返す模様 PowerShellで設定 WACで設定 19

20.

ロゴ作成中  GRIDドライバーには3つの動作シリーズが存在 ◦ ◦ ◦ Aシリーズ:仮想アプリケーションユーザー向けのアプリストリーミングもしくはRDS Bシリーズ:ビジネス向けのパフォーマンスが必要なバーチャルデスクトップ Qシリーズ:ハイパフォーマンスと機能を必要とするバーチャルワークステーション  シリーズによって必要なライセンスが変わる ◦ ◦ ◦ Aシリーズ:vAppsライセンス Bシリーズ:vPCライセンスもしくはvWSライセンス Qシリーズ:vWSライセンス  動作シリーズはHyper-Vホストのレジストリで設定  デバイス名にシリーズと「割り当てられているVRAM量」が挿入される → 「4Q」であれば「4GBが割り当てられたQシリーズ」となる 20

21.
[beta]
ロゴ作成中

 レジストリを設定するためにドライバーキーを取得
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like “PCI\VEN_10DE*” } | `
Select-Object -Property FriendlyName,InstanceId | Format-List
Get-PnpDeviceProperty -InstanceId “<前コマンドレットの結果のInstanceId>” | `
where {$_.KeyName -eq “DEVPKEY_Device_Driver”} | Select-Object -Property Data

21

22.

ロゴ作成中  ドライバーキーを含む、以下のレジストリを確認 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\driver-key  「GridGpupProfileType」の値を、使用したいシリーズに設定 シリーズ 値 Q-series 1 A-series 2 B-series 3 22

23.

ロゴ作成中 23

24.

ロゴ作成中 Bシリーズ設定時は、設定可能値に変化が 24

25.

ロゴ作成中 5分割 25

26.

ロゴ作成中 NVIDIA A2-16Q 2626

27.

ロゴ作成中 WACで16分割時 PowerShellで1分割時 27 27

28.

ロゴ作成中 パーティション数 パーティションVRAM パーティションエンコード パーティションデコード パーティションコンピュート 16 1GB 2 1 128 8 1.75GB 4 3 256 4 3.56GB 9 6 512 2 7.19GB 18 12 1024 1 14.3GB 36 24 2048 GPU基本スペック 14.9GB 36 24 2048 ※基本スペックは「Get-VMHostPartitionableGpu | FL *」コマンドレットで取得 28

29.

ロゴ作成中 29

30.

ロゴ作成中  Windows Server 2025環境でGPU-Pを動かすためには、ハードウェアの完全対応が必須 お手持ちのサーバーの対応状況を確認してからトライしてみてください 対応していれば、拍子抜けするくらいあっさり動きます  WDDMドライバーのライセンスが必要。長期間検証時にはライセンス購入が必要  やっぱりハードウェアの世界は面白い 30

31.

ロゴ作成中  Windows Server 2025 の新機能 https://learn.microsoft.com/ja-jp/windows-server/get-started/whats-new-windows-server-2025  GPU パーティション分割 https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/gpu-partitioningInsider  仮想マシンへのGPUのパーティション分割と割り当て https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/partition-assign-vmgpu?tabs=powershell  NVIDIA Virtual GPU Software v19.0 through 19.4 https://docs.nvidia.com/vgpu/19.0/index.html 31

32.

ロゴ作成中 32