virtual machine with dedicated GPU - is it possible? Private GPU Cloud
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.
Related videos on Youtube
Saariko
Updated on September 18, 2022Comments
-
Saariko over 1 year
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.
-
Oliver Salzburg almost 12 yearsI have never heard of a solution like this and given the extremely poor 3D support in all hypervisors, I doubt it exists today.
-
Renan almost 12 yearsWhat do you intend to do with those GPUs? Computation (CUDA/GPGPU/...) or graphics? (I assume it's the former)
-
Saariko almost 12 yearsOur software uses the GPU to calculate 3D cloth rendering in real time. As our service goes online, we need a way to multiply and answer demand in real time as well. Currently, we are looking for in-house dev env. as well as to learn and burn when needed.
-
Paul almost 12 yearsWhat would be the event that would let the vm host know that a guest needed a GPU assigned? I can imagine a way in Xen where you could get a VM to send a request to the host, which could cause a script to run that would assign a gpu to a guest, but I imagine that you needed the virtual gpu present from the start if it was windows?
-
Saariko almost 12 years@Paul you are right. the idea is that the GPU will be present there always for use of the VM. so for instance, I have a rack of 8 GPU's, waiting to be used, and a host with VM clients that can utilize the GPU's when they are needed. Just a point: it's not a vritual GPU :-) it's a physical GPU attached to a Virtual machine. I don't mind it been a one-to-one connection. e.g. only one GPU can be used by a single VM and vice versa.
-
Paul almost 12 yearsIf you are happy with a GPU per VM, then you could use Xen for sure - you just assign the GPU pci slot to a VM. You need a processor and motherboard that support VT-d (in addition to VT-x) if you are using Windows in the guests. This is called pci-passthrough, and it hands over the pci slot to the guest entirely. I am not familiar with the other hypervisors to know if they can do this too.
-
Saariko almost 12 yearsThese are my CPUs: System Type x64-based PC Processor Genuine Intel(R) CPU @ 2.30GHz, 2301 Mhz, 8 Core(s), 16 Logical Processor(s) Processor Genuine Intel(R) CPU @ 2.30GHz, 2301 Mhz, 8 Core(s), 16 Logical Processor(s) . I enabled the VT-d on the MB, ill go and install Xen, see how it's going. thanks all
-
Saariko almost 12 yearsThanks, we dropped the CUDA for now, even that we are very familiar with it. if you want, here is our demo site 3dvirtualclothing.optitex.com/#! please note, items here are pre-baked - these are images of a 3D object in the background - in the future, you will be able to alter the dummy and get your fit. 3dvirtualmodel.optitex.com is the altering front end
-
Saariko almost 12 yearsnote: the virtaul model site is a real time calculation of the mannequin that produces a 3D object.