To use physical video adapters in virtual environments, we selected RemoteFX vGPU technology, which is supported by the Microsoft hypervisor. At the same time, processors with SLAT support (EPT from Intel or NPT / RVI from AMD) must be installed on the host, as well as video cards that meet the requirements of the creators of Hyper-V. In no case should you compare this solution with desktop adapters in physical machines, which usually show the best performance when working with graphics. In our testing, vGPU will compete with the central processor of the virtual server - it is quite logical for computing tasks. We also note that in addition to RemoteFX, there are other similar technologies, for example, NVIDIA Virtual GPU - it allows you to transfer graphic commands of each virtual machine directly to the adapter without broadcasting them by the hypervisor.
Tests
The tests used a machine with 4 computing cores at 3.4 GHz, 16 GB of RAM, a solid-state drive (SSD) of 100 GB and a virtual video adapter with 512 MB of video memory. Professional NVIDIA Quadro P4000 graphics cards are installed in the physical server, and the guest system is running Windows Server 2016 Standard (64-bit) with the standard Microsoft Remote FX video driver.
â–ŤGeekBench 5
First, we ’ll launch the latest version of the GeekBench 5 utility, which allows you to measure system performance for OpenCL applications.
We used this benchmark in a previous article and it only confirmed the obvious - our vGPU is weaker than productive desktop video cards for solving typical “graphic” problems.
â–ŤGPU Caps Viewer 1.43.0.0
The utility created by Geeks3D cannot be called a benchmark. It does not contain performance tests, but it allows you to get information about the used hardware and software solutions. Here you can see that our vGPU virtual machine supports only OpenCL 1.1 and does not support CUDA, despite the NVIDIA Quadro P4000 video adapter installed in the physical server.
â–ŤFAHBench 2.3.1
The official benchmark from the Folding @ Home distributed computing project is dedicated to solving the highly specialized problem of computer simulation of coagulation of protein molecules. This is necessary to study the causes of pathologies associated with defective proteins - Alzheimer's and Parkinson's diseases, mad cow disease, multiple sclerosis, etc. The FAHBench utility cannot comprehensively evaluate the computing power of a virtual video adapter, but allows you to compare the performance of the CPU and vGPU in complex calculations.
The performance of vGPU computations using FAHBench using OpenCL turned out to be about 6 times (for the implicit simulation method, about 10 times) higher than similar indicators for a fairly powerful central processor.
Next, we give the results of calculations with double precision.
â–ŤSiSoftware Sandra 20/20
Another universal package for diagnosing and testing computers. It allows you to study the hardware and software configuration of the server in detail and contains a huge number of various benchmarks. In addition to computing using the CPU, Sandra 20/20 supports OpenCL, DirectCompute, and CUDA. We are primarily interested in the general purpose benchmark computational benchmark tests (GPGPU) using hardware accelerators included in the free version of Sandra Lite .
The results are pretty good, although they are slightly lower than expected for the NVIDIA Quadro P4000 video adapter. The virtualization overhead is likely to be affected.
Sandra 20/20 has a similar set of benchmarks for the CPU. Run them to compare the results with vGPU calculations.
The advantages of the video adapter are clearly visible, but the settings of the overall test package are not completely identical, and in the results you cannot see the indicators with the necessary degree of detail. We decided to conduct several separate tests. First, we determined the peak performance of vGPU using a set of simple mathematical calculations using OpenCL. This benchmark is essentially the same Sandra multimedia (not arithmetic!) Benchmark for CPU. For comparison, on the same diagram we put the result of the multimedia test of the central processor VPS. Even a CPU with four cores loses significantly to vGPU.
We will pass from synthetic tests to practical things. Cryptographic tests helped us determine the speed of encoding and decoding data. Here, a comparison of the results for vGPU and CPU also showed a clear advantage of the accelerator.
Another area of ​​application for vGPU is financial analysis. Such calculations are not difficult to parallelize, but to perform them, you need a video adapter that supports calculations with double precision. And again, the results speak for themselves: a fairly powerful processor loses the GPU outright.
The last test we conducted was scientific calculations with high accuracy. The graphics adapter again coped better than the central processor with matrix multiplication, fast Fourier transform and other similar tasks.
conclusions
vGPUs are poorly suited for launching graphic editors, as well as applications for 3D rendering and video processing. Adapters for desktop systems cope with graphics much better, but the virtual one can perform parallel calculations faster than the CPU. For this, I must say thanks to the productive RAM and more arithmetic-logic modules. Data collection and processing from various sensors, analytical calculations for business applications, scientific and engineering calculations, traffic analysis and tariffication, work with trading systems - there are a lot of computing tasks for which GPUs are indispensable. Of course, you can build such a server at home or in the office, but you will have to pay a tidy sum for the purchase of hardware and the purchase of licensed software. In addition to capital costs, there are operating costs for services, including including electricity bills. There is depreciation - the equipment wears out over time, and becomes obsolete even faster. Virtual servers do not have these drawbacks: they can be created as needed and deleted when the need for computing power disappears. Paying for resources only when they are needed is always beneficial.