Seitanas / kvm-vdi

linux-kvm based VDI solution
MIT License
218 stars 82 forks source link

KVM Virtualization and NVIDIA GRID Compatibility #66

Closed norwalk350 closed 8 years ago

norwalk350 commented 8 years ago

This is just a general question on virtualization with NVIDIA GRID.

If you wish to remove this, Seitanas, please do.

I'm just wondering if anyone has implemented the NVIDIA GRID in their KVM environment. We are about to build a massive KVM system with the KVM-VDI project as its management console. We are using Ubuntu 16.04 and was wondering if anyone has any experience.

The applications that we are planning to run require a lot of processing (e.g. Autodesk, Robotics programs, etc). That is why we are considering this.

Thanks!

henickr commented 8 years ago

This solution is on par with VMware horizon without grid when running from ssds. There isn't much that matches grid because of the architecture it is on... Including the high price.

I am having good luck using disk i/o scheduling in RHEL 7 to utilize old hardware. Who doesn't like a system that recycles old junk :). Still just testing though. It's very usable on spinning disks with Windows TPC.

On Oct 18, 2016 5:23 PM, "norwalk350" notifications@github.com wrote:

This is just a general question on virtualization with NVIDIA GRID.

If you wish to remove this, Seitanas, please do.

I'm just wondering if anyone has implemented the NVIDIA GRID in their KVM environment. We are about to build a massive KVM system with the KVM-VDI project as its management console. We are using Ubuntu 16.04 and was wondering if anyone has any experience.

The applications that we are planning to run require a lot of processing (e.g. Autodesk, Robotics programs, etc).

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Seitanas/kvm-vdi/issues/66, or mute the thread https://github.com/notifications/unsubscribe-auth/ALxZX0bm9jS8NCOcJ2FSv9bl7QW1Pt1Dks5q1Sq3gaJpZM4KaP0G .

Seitanas commented 8 years ago

Nvidia GRID is not supported in qemu-kvm hypervisor. KVM is still in heavy development of its 3D capable video card and while it is rumored to work on Linux guests, it is not available on Windows ones and won't be available in near future. For now KVM only supports 2D rendering. And I don't think that there are any opensource hypervisors, that do support GRID.

norwalk350 commented 8 years ago

Thank you for the feedback Seitanas and henickr! I didn't know that the NVIDIA GRID isn't compatible with the KVM hypervisor.

henickr commented 8 years ago

you can get really fancy if you want and do a pci passthrough to a high end video card but i wouldn't imagine that would be very easy to get working and not likely something related to this project. i've been thinking about doing one as a test.... if i ever get around to it i'll let you know how it goes.

On Wed, Oct 19, 2016 at 8:56 AM, norwalk350 notifications@github.com wrote:

Thank you for the feedback Seitanas and henickr! I didn't know that the NVIDIA GRID isn't compatible with the KVM hypervisor.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Seitanas/kvm-vdi/issues/66#issuecomment-254791250, or mute the thread https://github.com/notifications/unsubscribe-auth/ALxZX3qF3iWdB1Bk9Cdf5y88r23j6ejvks5q1gVVgaJpZM4KaP0G .

Seitanas commented 8 years ago

The idea of GRID is that you can provide powerful 3D GPU's to many VMs just by taking some of GPU cores from GRID device. This technology is used in VMware, and , I think in Xenserver (commercial one). This is out of scope in qemu-kvm development

norwalk350 commented 8 years ago

I found a post that shows a GPU in pci passthrough (like henickr is saying). http://arrayfire.com/using-gpus-kvm-virutal-machines/

It looks like the NVIDIA Tesla K series supports KVM (according to the post). We may go with this.

Thanks again for allowing the question Seitanas.

Seitanas commented 8 years ago

Passthru is entirely different from 3d virtual device on remote session. With passthru vm will output video to card's output, not to the SPICE channel!

On October 19, 2016 4:13:57 PM GMT+03:00, norwalk350 notifications@github.com wrote:

I found a post that shows a GPU in pci passthrough (like henickr is saying). http://arrayfire.com/using-gpus-kvm-virutal-machines/

It looks like the NVIDIA Tesla K series supports KVM (according to the post). We may go with this.

Thanks again for allowing the question Seitanas.

You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Seitanas/kvm-vdi/issues/66#issuecomment-254808408

norwalk350 commented 8 years ago

Is there any way to utilize the PCI passthrough (GPU such as NVIDIA Tesla K40) for the SPICE channel?

Forgive my inexperience if I'm asking a dumb question...

Seitanas commented 8 years ago

No, - passthru is just the way to put physical hardware into virtual machine. So you will end up with your video card displaying your VM via output (vga/dv/hdmi/dp etc). What you need is to provide GPU cores to VM, - like VMware is capable of with some video cards/special hw (GRID). Unfortunately this technology is unavailable on qemu-kvm. And will not be available in nearest future. So at this point there is no way to gave 3D acceleration on SPICE channel.

henickr commented 8 years ago

i set up passthru last night and it works really well for a linux guest (nothing 3d related -- i was using it as a coprocessor to crunch some rainbow tables) but i was not able to make it work on windows at all yet. i got to the point where it should be 'available' as a device but windows cannot see it. i sort of expected that to happen though considering the virtio drivers are fairly limited and graphics drivers are not easy to deal with.

still pretty cool.

norwalk350 commented 8 years ago

Sweet! I'm just curious, how fast are you crunching combinations? What hashes are you trying to crack? I think we are going to get the AMD Firepro S7150 and see how it works with pci passthrough. Thanks again henickr for your input! :)

henickr commented 7 years ago

I wouldn't say PCI pass thru would be acceptable in most instances sorry I should correct myself for other readers of this thread. If it even works (untested) it would not pass video like grid... It would be suitable as a coprocessor only. Spice will not do this.

On Nov 29, 2016 2:46 PM, "Timofonic" notifications@github.com wrote:

Is it possible to do similar virtualization like Intel iGPUs or that must be supported by the hardware itself? I have an Intel Core i7 5700HQ @ 2.70GHz + Nvidia GTX960M connected by Optimus (a nightmare!), so maybe PCI Express passthru is possible.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Seitanas/kvm-vdi/issues/66#issuecomment-263660561, or mute the thread https://github.com/notifications/unsubscribe-auth/ALxZXx5GfuDDFqjxy-leD7WJwDogKtZRks5rDHMNgaJpZM4KaP0G .

henickr commented 7 years ago

this is the direction qemu-kvm is going on their side... http://www.phoronix.com/scan.php?page=news_item&px=MTA1NTQ

Seitanas commented 7 years ago

Gallium is obsolete. Now all the work is concentrated into Virgil (virGL). And it even works on Linux guests with latest kernels (at least there are rumors). No Windows driver though (and I do not think it will be in nearest future).

bmb commented 7 years ago

Just came across this thread when looking for a status update on GRID with Qemu/KVM. To add to the PCI passthrough comments, you actually can get a good deal of the way to what you want with passthrough (on Linux at least) by doing your display from within the guest using something like VirtualGL (https://virtualgl.org/About/Introduction, commercial alternatives exist too). The major disadvantage is that you cannot partition/share the GPU hardware to a finer level than a single GPU device (some cards have several GPUs so you can still consolidate to a passable extent).