The use of GPUs in virtual machines has been supported since vSphere 5.5, through VMware vSphere’s DirectPath I/O technology, while NVIDIA GRID vGPU TM has been enabled since vSphere 6.0. VSphere Virtualization has been in the forefront of infrastructure optimization and sharing for traditional CPU based workloads. The use of GPUs for handling massive floating-point computation that can be parallelized on many cores is a strong trend in the high performance computing (HPC) virtualization and cloud area, particularly for accelerating deep learning workloads. Some application areas include facial recognition in images, medical diagnosis in MRIs, robotics, automobile safety, and text and speech recognition. General Purpose GPUs (GPGPUs)Ī general-purpose GPU (GPGPU) is a graphics processing unit (GPU) that performs non-specialized calculations that would typically be conducted by the CPU (central processing unit). It also provides enterprises much better control over where their sensitive intellectual property is getting worked on, by keeping it in the datacenter instead on employees’ personal devices. This solution enables users with the most demanding graphics needs, such as 3D engineering applications, to take advantage of the superior computing, storage, and networking power of the data center while freeing them from the limitations of the physical workstation. NVIDIA, in collaboration with VMware, has helped move advanced graphics functionality from the individual workstation to the data center, making immersive 3D graphics available to remote users via virtual desktops. For that last reason, they have become very popular in the fields of machine learning and deep learning. GPUs be used for speeding up massively parallel mathematical operations and processing. High-end GPUs have thousands of processor cores compared to traditional CPUs that have tens of cores. GPUs were initially built in order to render images, animations and video for computer graphics.
BackgroundĪ GPU (Graphics Processing Unit) is a programmable logic chip (processor) that was initially designed for high performance graphics on personal computers.
An example of this would be using a set of GPUs for graphics acceleration on virtual desktop VMs during regular work hours and then using the same GPUs for machine learning virtual machines in the evening and night time hours. This enables the use of the virtualized GPU in different contexts, for completely different applications from machine learning to graphics processing, over time. The new vSphere 6.7 feature that we focus on here allows the user to suspend a virtual machine workload that is NVIDIA Grid vGPU enabled on a host server for some period of time and then allows the same virtual machine to be resumed from that point at a later time. The techniques described here were tested at VMware and at customer sites where they are deployed today. This article describes a set of use cases and a demonstration for a new feature in vSphere 6.7 related to GPU use in virtual machines. vSphere 6.7 became generally available in April 2018. VMware vSphere is the Universal Application Platform of choice for deployment of all kinds of applications – from end-user virtual desktops to very large databases, machine learning systems and in-memory data management systems.