使用 Hyper-V 将多个 GPU 传递到虚拟机

使用 Hyper-V 将多个 GPU 传递到虚拟机

我按照本教程尝试将 GPU 传递到 Hyper-V 虚拟机:

https://www.youtube.com/watch?v=XLLcc29EZ_8

我的系统有两个 NVIDIA 1080 Ti GPU;出于某种原因,只有其中一个可以正常工作。它们都显示在虚拟机的设备管理器中:

在此处输入图片描述

但在我的应用程序中,只显示了一个 GPU。以下是我在 Hyper-V 虚拟机中看到的内容:

在此处输入图片描述

以下是我在主机上看到的内容:

在此处输入图片描述

正如预期的那样,当尝试在 VM 中完成 GPU 渲染时,它只使用两个 GPU 中的一个。

有没有办法将它们两个都传递给虚拟机,而不是只传递一个?

答案1

# Enable Hyper-V and related features
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

# Enable GPU DirectPath I/O (if supported by your hardware)
# Replace 'PCI\VEN_XXXX&DEV_XXXX' with your GPU's Vendor and Device IDs
$gpu1DeviceId = 'PCI\VEN_XXXX&DEV_XXXX'
$gpu2DeviceId = 'PCI\VEN_YYYY&DEV_YYYY'
Add-WindowsFeature Hyper-V-PowerShell

# Create a new VM
New-VM -Name "VMName" -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath "C:\Path\To\VM\VMName.vhdx" -NewVHDSizeBytes 50GB

# Add both GPUs to the VM
Add-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(XXXX)#XXX(XXXX)"
Add-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(YYYY)#YYY(YYYY)"

# Configure VM for GPU passthrough
Set-VM -VMName "VMName" -AutomaticStopAction TurnOff -AutomaticStartAction StartIfRunning
Set-VMFirmware -VMName "VMName" -EnableSecureBoot Off

# Start the VM
Start-VM -VMName "VMName"

# Install GPU drivers within the VM

相关内容