Tip of the Day: Windows Server 2016, DDA and CUDA…

Today's tip...

Questions of the Day:

Question #1:

My customer is interested in using Windows Server 2016 Hyper-V for the feature where you can allocate a physical GPU to a virtual machine because they want use CUDA features of the GPU. Can this this physical GPU be assigned to multiple VMs at once? It's a VDI scenario where users will need to use CUDA cores. Can you assign a number of CUDA cores to specific VMs?

Answer #1:

The new Windows Server 2016 feature you’re referring to is Discrete Device Assignment (DDA). With DDA, you can map an entire PCIe device to a single virtual machine, it is not shared. In this scenario, the device isn’t seen by the host and drivers for the device need to be installed in the virtual machine because it has discrete, direct access to the device.

 

--------------------------------------------------------------------------------------------------------------------------

 

Question #2:

Is there anything specific my customer needs to enable in the BIOS for Discrete Device Assignment (DDA)?

Answer #2:

Most likely yes. Apologies for the non-definitive answer, but motherboard defaults and naming vary widely. Some manufacturers like to provide a high degree of BIOS options while others try to keep it relatively simple. Here are the features to look for:

  • The option that provides PCI Express control to Windows, and turns on SR-IOV resource controls
  • The ability to enable the I/O MMU, VT-D (Intel-speak for an I/O MMU)
  • Turn off Intel TXT