Citrix HDX 3D Pro Meet NVIDIA GPU
By CMD Technology Group
4 min read
“One hundred high-end engineering desktops, please!” This is the message which drove a recent deployment of Citrix HDX 3D Pro with NVIDIA graphics accelerator cards. Graphic-intensive engineering apps meet Citrix Virtual Desktops.
To foster this kind of relationship, there are several key items to consider.
Citrix HDX 3D Pro
First, Citrix HDX 3D Pro is designed as a group of graphic acceleration technologies that work cohesively to optimize the graphic performance of media-rich applications. HDX 3D Pro ultimately allows Citrix-delivered application graphics to render on a graphics processing unit (GPU).
CPU vs. GPU
Before we dive further, let’s first explore the critical differences between CPU and GPU. Where CPU contains a few cores to process a limited number of software threads at a time, GPU relies on hundreds of cores to simultaneously handle thousands of threads. This creates a drastic difference in computational efficiency. Where CPU emphasizes low latency, GPU focuses on greater throughput at higher speeds. This contrast makes GPU uniquely suited for displaying complex 3D graphics and dynamic visual rendering.
Use cases for GPU powered VDIs span several industries. Whether it be drafting and rotating 3D images within Cad software. Manipulating spatial data with GIS software. Or displaying high-definition static MRI images. GPU rendering supports the workload of many professional graphics applications delivered through virtualized desktops.
GPU Passthrough and GPU Virtualization
When determining a GPU implementation strategy, there are two key technologies to understand: GPU passthrough and GPU virtualization.
GPU passthrough offers a one-to-one relationship between physical GPU and a virtual machine. With passthrough, a physical GPU is mounted to the hypervisor and directly presented to a machine. The VM detects the PCI device as if it were physically connected.
Alternatively, GPU virtualization provides a one-to-many relationship. With this technology, several machines have simultaneous, direct access to a single physical GPU. The result, a single GPU can be shared among multiple workloads in the form of virtual graphic processing units (vGPU). In this blog post, we will further examine GPU virtualization as it was used in the aforementioned engineering desktop deployment.
With steady progress, hypervisor support for GPU technologies is continually changing. Today, there are also cloud deployment options to deliberate. Citrix HDX 3D Pro is supported when running on GPU-enabled virtual machines available from providers including Microsoft Azure (e.g., NV-Series) and Amazon AWS (e.g., EC2 G3). The Citrix Hypervisor Hardware Compatibility List describes hypervisor support information for multiple vendors.
As part of the engineering desktop example, we will further examine GPU virtualization with NVIDIA graphics accelerator cards. We should highlight that these cards are based on different GPU architectures and NVIDIA has made significant progress in this arena. Today, NVIDIA has developed multiple GPU architectures. These include “Maxwell” and “Kepler” GPUs.
Kepler GPUs were a breakthrough in NVIDIA GPU technology, but with the introduction of the Maxwell architecture, there was a significant leap in GPU efficiency. Maxwell provides higher density and nearly double the efficiency of Kepler.
In general, the GPU can be viewed as having two main components: the engines, for processing and rendering, and the frame buffer, for storing inputs and outputs which the VM can access. Consequently, the number of GPUs and memory available per graphics accelerator cards will impact graphic performance and shape the way workloads are distributed.
Graphics Accelerator Cards
When selecting a graphics accelerator card, it is critical to pay attention to its GPU microarchitecture, the number of GPUs per board, and the memory available per GPU. This post will focus on Tesla series graphic accelerator cards which are designed using Maxwell GPUs. Tesla graphics accelerators work alongside NVIDIA GRID software to deliver media-rich graphics.
NVIDIA vGPU software is available in four editions. Each edition unlocks varying levels of support. When selecting a software, it is essential to address application memory, and 3D rendering requirements in addition to the number of monitors users require.
We will examine the following three software editions.
●Virtual Applications (vApps)
∙Ideal for virtual application computing
∙Most compatible with XenApp and GPU virtualization
●Virtual PC (vPC)
∙Ideal for business desktop computing, high definition video, and Windows
∙Most compatible with XenDesktop and GPU virtualization
●Virtual Data Center Workstation (vDWS)
∙Ideal for mid-range to high-end workstation computing and graphic-intensive
∙Most compatible with XenDesktop, GPU virtualization, and GPU passthrough
Additional licensing information is available within the NVIDIA Licensing Guide.
License Edition Selection
Employing the engineering desktop use case, users required individual desktops which can serve graphic-intensive engineering applications to upwards of three display monitors (i.e., display heads). This use case’s requirements led to the NVIDIA vDWS software edition.
In combination with vDWS, this post will focus on the Tesla M10 GPU accelerator. A Tesla M10 contains 4 GPUs per board. The board has 32 GB of the total frame buffer (or memory). As such, each GPU had a total of 8 GB of frame buffer available to it.
GRID vGPU profiles serve as a framework for allocating a fixed share of the frame buffer to each VM from the total pool of memory available.
vGPU profile types are defined by a few key markers, which include:
● The total amount of frame buffer and the corresponding amount available per
● Number of supported display heads
● Maximum resolution per display head
● Intended class of work (e.g., designers, power users, virtual applications
Profile selection is critical to deployment and will impact not only the graphics performance per VM but also the number of VMs each host can accommodate. Next month we will further examine how to select and size with NVIDIA vGPU profiles.