Hyper-V GPU-P要求GPU支持SR-IOV, 所以只有Ampere架构及以上的卡可以用. 具体对SR-IOV的支持可以参考此链接
1.从nvidia许可门户下载基于Azure Stack HCI的vGPU host驱动. Hyper-V主机系统可以为Azure Stack HCI或者Windows Server 2022/2025
2.打开命令提示符, 切换至驱动文件所在目录下安装host驱动:
pnputil /add-driver nvgridswhci.inf /subdirs /install /reboot
成功安装后可使用 nvidia-smi vgpu -s 命令查看支持的vGPU实例, 默认为vDWS
若此命令没有返回值, 请使用 nvidia-smi -q | findstr “Fractional VGPU” 命令, 确保GPU支持SR-IOV和分割多个vGPU
若要更改实例类型, 请修改 HKLM:\SYSTEM\ControlSet001\Control\Class\KEY\GridGpupProfileType 处的注册表值, 0=vCS, 1=vDWS, 2=vApps, 3=vPC, 4=vGaming. 其中 KEY 为以下Powershell命令的返回值:
Get-PnpDeviceProperty -InstanceId "instance-id" | where {$_.KeyName -eq "DEVPKEY_Device_Driver"} | Select-Object -Property Data
3.使用Powershell命令 Get-VMHostPartitionableGpu 获取可创建分区的GPU. 指定分区数量后该指令显示对应的vGPU实例规格
4.使用以下Powershell命令向虚拟机添加vGPU实例, 并设置MMIO大小. 其中所有数值均为对应实例规格的数值
Set-VM -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 2Gb -HighMemoryMappedIoSpace 128Gb -VMName $vm
Add-VMGpuPartitionAdapter –VMName $vm -InstancePath $path
或
Add-VMGpuPartitionAdapter –VMName $vm ` –MinPartitionVRAM min-ram ` -MaxPartitionVRAM max-ram ` -OptimalPartitionVRAM opt-ram ` -MinPartitionEncode min-enc ` -MaxPartitionEncode max-enc ` -OptimalPartitionEncode opt-enc ` -MinPartitionDecode min-dec ` -MaxPartitionDecode max-dec ` -OptimalPartitionDecode opt-dec ` -MinPartitionCompute min-compute ` -MaxPartitionCompute max-compute ` -OptimalPartitionCompute opt-compute
5.启动虚拟机后正常安装grid驱动并获取许可, 即可正常使用vGPU. 若启动虚拟机时报错没有与当前设置的组策略兼容的GPU设备, 则需向注册表 HKLM:\SOFTWARE\Policies\Microsoft\Windows\HyperV 处添加名为 RequireSupportedDeviceAssignment 和 RequireSecureDeviceAssignment 的DWORD项, 值均为0