virtual machine with dedicated GPU - is it possible? Private GPU Cloud

This is also referred to as cloud GPU.

I want to build a VM host (VMware or windows - or other?) that will have 8 GPU's on it, and the VM clients will be able to use the GPU's as needed. It can either be that each VM has it's own GPU, or that the GPU's are in a queue/bucket - and clients use them as needed.

  • Is it possible today?
  • Is it possible with either VMware or Windows?
  • Is there another solution that is able to provide this?

There are some web sites that offer this, I want this in-house.


Solution 1:

You might want to take a look at Xen, it supports VGA passthrough if your hardware supports VT-d. E.g. Setting Up A Xen Graphics Card Pass-Through.

However, if you want to use CUDA, OpenCL etc... (this is what I assume, since you're talking about a "GPU cloud"), you are looking at a very big problem. See those discussions:

  • on Stack Overflow: CUDA / OpenCL within a Virtual Machine / Hypervisor
  • on Unix&Linux SE: GPGPU/CUDA in KVM or Xen

Solution 2:

Well, Server 2008 R2 supports RemoteFX, which is a technology...that is designed to improve the visual experience of the Remote Desktop Protocol.

The server needs at least one dedicated graphics card (one card can support up to 12 machines).

It's an interesting idea that I, personally, have not used yet, although it is certainly on my "to look at" list.