nVIDIA video cards for Virtual Machines

Hi Team.
I need your assistance to understand which nVIDIA video cards are able to be used and shared with
different Virtual Machines, like all the 3D Virtual video cards have the performance like a physical one, handling OpenGL v. 2.1 or greater. Moreover, I would like to know which SW technologies (OS and related settings) will need to share physical video cards with different Virtual Machines.
Waiting for your reply
Best Regards,
Francesco

Hi Team,

any news or updates regarding my request?

Best Regards,

Francesco

Generally the nVidia drivers will not allow passthrough it they detect that they are run inside a VM. The officially supported way is to use supported GRID or Quadro/Tesla products and (if necessary) to purchase virtualization licenses from nVidia.

Some hypervisors will allow you to hide the fact that the OS runs inside a VM from the guest OS, as
described here:
https://ianmcdowell.net/blog/esxi-nvidia/

similarly for KVM virtualization you can try the “hidden” flag
https://bbs.archlinux.org/viewtopic.php?id=214698

Then if you are lucky the nVidia driver may work on the hardware, provided that you arrange for a direct passthrough of the device.

I am unaware of working solutions involving Hyper-V.

Also I haven’t been able to virtualize (or pass through) any of my own nVidia GPUs myself so far.

Christian

This is a function of the GPU type. The driver will look at the GPU type before making a decision about support. Most GeForce GPUs are not supported. Most Quadro and Tesla GPUs are supported for PCIE passthrough, and the driver will allow operation in that case (for those GPU types).

There is a Linux based bootable USB solution called Unraid which seems to make it rather easy to pass through Geforce type GPUs to multiple VMs. Unraid is $49 after 30 days of evaluation (pricing depends on the number of drives you have attached).

This thread talks about trying to get the first (and maybe only) GPU to pass through successfully

What about vSGA technology? Is it possible on VMware environments ONLY using GRID and TESLA nVIDIA graphic cards? My aim is to have more VMware VMs handling OpenGL greater than 2.1 version.
Moreover, can I ask you if Hyper-V supports GPU sharing to different VMs on the same server?

Best Regards,

Francesco

Have you looked at nVidia’s official resources yet?

There is even a 90 day trial evaluation software, including a virtual GPU license: http://www.nvidia.com/object/vgpu-evaluation.html

From what I understand this requires a software driver that runs alongside the hypervisor
that creates virtual GPU devices, to which the driver running inside the VMs can connect.

More information:
https://www.nvidia.com/en-us/design-visualization/technologies/virtual-gpu/


Christian

Dear NVIDIA,

We are setting up a Workstation in our institute and would like to know if the NVIDIA Quadro GP100 graphics card perform virtualization acceleration with DirectPath (VM-Ware) and RemoteFX (Hyper-V)?

if it is not possible, is there any suggestion that can use virtualization acceleration?

Our choice was based on the fact that the card operates with good speed in dual precission computation FP32, about 5.3 Tflops of speed for precise engineering calculations.

Thank you very much.
André Sento Sé Barreto

Since you’re asking about computation, the only way to provide CUDA support is via NVIDIA vGPU (GRID) technology.

You cannot provide CUDA support via Hyper-V or any VMWare setup that does not employ vGPU or GRID.

The exception to the above statements would be PCIE passthrough which does not involve GPU sharing or virtualization. You’re welcome to experiment with that if you like, but NVIDIA doesn’t provide any formal documentation about how to do it.

If you’re interested in GRID/vGPU, there are various resources available to you (take a look at the post in this thread that immediately precedes yours), however it requires licensing.

Dear Robert,

Many thanks for the reply.

We would like to install a Workstation with the GPU NVIDIA Quadro GP100 and then run one simulation software in other machines using virtualization acceleration.

We selected the NVIDIA Quadro GP100 because it has a speed of ~ 5 Tflops in FP32 which is something necessary to run the simulations properly.

However, we are in doubt about acquiring this board and we can not enable virtualization.

If this video card is not suitable for this use.

Is it possible to suggest similar alternatives that can do virtualization?