我按照本教程尝试将 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