Microsoft DDA fails with some GPUs
Description
Microsoft Discrete Device Assignment (DDA) fails with GPUs that have more than 16 GB of GPU memory. After the NVIDIA vGPU software graphics driver is installed in the guest VM, a second display device appears on the GPU and the driver prompts for a reboot. After the reboot, the device disappears and the Microsoft Hyper-V Video device appears.
This issue occurs because less memory-mapped input/output (MMIO) space is configured for the operating system than the device requires.
Workaround
Perform this workaround in a Windows Power Shell window on the hypervisor host.
Set the upper MMIO space to the amount that the device requires to allow all of the MMIO to be mapped. Upper MMIO space starts at approximately 64 GB in address space.
Set-VM –HighMemoryMappedIoSpace mmio-space –VMName vm-name
- mmio-space
-
The amount of MMIO space that the device requires, appended with the appropriate unit of measurement, for example, 64GB for 64 GB of MMIO space.
The required amount of MMIO space depends on the amount of BAR1 memory on the installed GPUs and the number of GPUs assigned to the VM as follows:
mmio-space = 2 ˟ gpu-bar1-memory ˟ assigned-gpus
- gpu-bar1-memory
- The amount of BAR1 memory on one of the installed GPUs. For example, in a server in which eight GPUs are installed and each GPU has 32 GB of BAR1 memory, gpu-bar1-memory is 32 GB.
- assigned-gpus
- The number of GPUs assigned to the VM.
- vm-name
- The name of the VM to which the GPU is assigned.
The following example sets the upper MMIO space to 64 GB for the VM named mygpuvm
, to which one GPU with 32 GB of BAR1 memory is assigned.
Set-VM –HighMemoryMappedIoSpace 64GB –VMName mygpuvm
For more information, see Deploy graphics devices using Discrete Device Assignment on the Microsoft technical documentation site.
Status
Not an NVIDIA bug
Ref. #
2812853