This technical article explains how to configure a Windows 2012 R2 virtual machine to use the NVIDIA GPU pass-through under XenApp 7.6.
Many information about GPU usage on Citrix and VMware environments are already available on the internet, but I have never been able to find a quick and practical guide that explains how to configure it, so that’s why I wrote this article.
You will go through three main steps:
- Configure PCI pass-through in VMware
- Configure the Virtual Machine
- Enable GPU support in RDS sessions
The NVIDIA Card model is the “729851-B21 NVIDIA Grid K2 PCIe GPU Kit”:
- Number of GPUs: 2
- CUDA cores: 3072 (1536/GPU)
- Memory size per board (GDDR5): 8GB (4GB/GPU)
Compatible with ProLiant SL250s/SL270s servers with Intel Xeon E5-2600 v2 processors and ProLiant WS460c Graphics Server Blades:
All runs on VMware ESXi 5.5.
vDGA (Virtual Dedicated Graphics Acceleration) is used in this environment, check the following articles for more information on the other GPU sharing technologies:
Step 1 – Make sure that the GPUs are configured for pass-through in VMware
Make sure that the host has the GPUs available for pass-through (view from vSphere Web Client):
If they are not available, edit the settings (by clicking on the pencil icon), make the available and reboot the host:
Step 2 – Configure the virtual machine
Adjust pciHole.start. Note: This is required only if the virtual machine has more than 2GB of configured memory. For virtual machines that have more than 2GB of configured memory, add the following parameter to the .vmx file of the virtual machine (you can add this at the end of the file):
pciHole.start = “2048”
Set the pass-through in the VM:
Install the latest VMware Tools.
Install the NVIDIA Drivers for the GRID K2 cards, the latest version at the time of this writing is 347.52-quadro-tesla-grid-winserv2008-2008r2-2012-64bit-international-whql.exe.
The drivers can be downloaded from the NVIDIA website:
Restart the server.
Make sure that you can find the NVIDIA GRID K2 card in the Device Manager:
You can run GPU-Z in order to make sure that the card is being used by the system.
Now you can install the Citrix XenApp 7.6 VDA.
Step 3 – Enable the GPU in the RDS session
The final step in the configuration requires enabling the GPU in the RDS/Citrix session, as per Citrix:
On Windows Server 2012, Remote Desktop Services (RDS) sessions on the RD Session Host server use the Microsoft Basic Render Driver as the default adapter. To use the GPU in RDS sessions on Windows Server 2012, enable the Use the hardware default graphics adapter for all Remote Desktop Services sessions setting in the group policy Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment
Now you are ready to GO!