LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Virtualization and Cloud
User Name
Password
Linux - Virtualization and Cloud This forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.

Notices


Reply
  Search this Thread
Old 06-29-2015, 04:43 PM   #1
Pearlseattle
Member
 
Registered: Aug 2007
Location: Zurich, Switzerland
Distribution: Gentoo
Posts: 999

Rep: Reputation: 142Reputation: 142
Status of KVM with KVMGT (for shared & almost-native GPU perf inside VMs)?


Hi!

Info summary:
Some time ago I read here this...
Quote:
Perhaps most visible to end users with this first Linux 4.1 Intel i915 DRM pull is the vGPU support for client-side XenGT. This is the client-side support for Intel's technology of exposing the Intel GPU for graphics and compute to virtualized guests via mediated passthrough of the Intel HD/Iris Graphics.
...which refers to an earlier announcement here:
Quote:
The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Though we only support Xen on Intel Processor Graphics so far, the core logic can be easily ported to other hypervisors.
Googling a bit I found this presentation dated Oct.2014 stating...
Quote:
KVMGT is the open source implementation of Intel ® GVT-g for KVM
...and I've found this post dated Feb.2015 asking infos about KVMGT and Windows guests.

Questions:
1)
Am I understanding it correctly? "KVMGT" (or whatever acronym is correct) makes it possible to run with the KVM hypervisor a VM that can run a native GPU driver/module and therefore get near-native performance AND use the same GPU that the host is using (no dedicated GPU for the VM)?
2)
What's the correct name? KVMGT? GVT-g?
3)
Are there any HW, BIOS, GPU requirements?
4)
Current status? Can I use it?

It would be a major event to be able to use a single GPU to run everything (host & VMs), but maybe I'm misunderstanding the whole concept

Thank you!!!
 
Old 07-01-2015, 10:25 PM   #2
dyasny
Member
 
Registered: Dec 2007
Location: Canada
Distribution: RHEL,Fedora
Posts: 995

Rep: Reputation: 115Reputation: 115
Dunno about the current status, but the point of the *GT project is to be able to schedule GPU calls for VMs the same way CPU calls are scheduled. So if a VM requires a CPU cycle, it lets the hypervisor take care of which CPU core actually performs it, the same idea should apply here with GPUs. The good thing here, is, just like with CPUs, we should be able to overcommit and maximize the use of GPUs. The downside is that this will probably mean real GPU scheduling (for in-VM rendering or number crunching), and not gaming (and I might be wrong here). I suspect that this will also mean you will not be able to schedule the console-attached video card along with the dedicated GPUs.

Currently, if you need GPU passthrough, you can use vfio, if works great with the industrial grade NVIDIA cards, like the GRID K2 which I'm using.
 
Old 07-02-2015, 12:59 PM   #3
GizmoChicken
LQ Newbie
 
Registered: Jul 2015
Posts: 4

Rep: Reputation: Disabled
Here are partial answers to your questions, in slightly revised order:

2) The correct name is "Intel Graphics Virtualization Technology g" or "Intel GVT-g" or "iGVT-g" for short. KVMGT and XenGT are implementations of iGVT-g. You can find more information here: https://01.org/igvt-g

1) Yes, the goal of iGVT-g is to allow VMs to access, and share all the resources of, the host's GPU. My understanding is that a VM using iGVT-g will have somewhere between 80 or 90% of native performance, as opposed to the almost 99% of native performance achievable with VFIO passthrough to a separate GPU. But the beauty of iGVT-g is that the host and VM can share a single integrated GPU, which makes it great for use on a laptop that only has integrated graphics. Here's an example of an Ubuntu host with XenGT running two Windows VMs, each of which has has access to the host's GPU: https://www.youtube.com/watch?v=V2i8HCcAnY8

3) At present, iGVT-g only supports Intel Processor Graphics built into 4th generation Intel Core processors. Support for 5th generation (and later) Intel Core processors is expected, but support for earlier processors seems less likely. See https://github.com/01org/KVMGT-kernel/issues/15

4) Both XenGT and KVMGT are currently experimental, and if you want to try either, you'll need to compile and install modified versions of various software. Hopefully, this situation will change in the future, but probably not for at least several more months. Between the two, XenGT development is closer to being finished. (I wish that weren't the case, because although Xen is great for servers, I would prefer to use KVM on my laptop.) If you want to give XenGT a try, you can learn more about how to install it here: https://github.com/01org/XenGT-Previ...ide_2015Q1.pdf Note that, to the best of my knowledge, the preceding links to the most current instructions for XenGT. But updated instructions will likely be posted at a later date, so you'll probably want to remain on the lookout for updates.

Last edited by GizmoChicken; 07-04-2015 at 11:16 PM.
 
1 members found this post helpful.
Old 07-03-2015, 03:46 PM   #4
Pearlseattle
Member
 
Registered: Aug 2007
Location: Zurich, Switzerland
Distribution: Gentoo
Posts: 999

Original Poster
Rep: Reputation: 142Reputation: 142
Thanks a lot GC!!
Extremely useful!!

Just as a reference for myself: <DELETED AS NOT CORRECT (see below)> the list of the Intel GPU generations.

I'll keep this thread open - I'll keep an eye open on this theme and will post here in the future (hopefully) more news & infos.

Last edited by Pearlseattle; 07-07-2015 at 05:04 PM.
 
Old 07-06-2015, 05:32 PM   #5
GizmoChicken
LQ Newbie
 
Registered: Jul 2015
Posts: 4

Rep: Reputation: Disabled
Quote:
Originally Posted by Pearlseattle View Post
Thanks a lot GC!!
Extremely useful!!
Thanks. Happy to be of help.

Quote:
Originally Posted by Pearlseattle View Post
Just as a reference for myself: here the list of the Intel GPU generations.
I think that the Wiki article to which you link lists Intel GPU "generations" in a different context than I meant. To find "4th generation Intel Core processors" in the context that I meant, you should have a look here: http://ark.intel.com/ But in any case, like I said before, iGVT-g is still experimental, so there are no guarantees that any particular processor will work at this point.
 
1 members found this post helpful.
Old 07-07-2015, 05:02 PM   #6
Pearlseattle
Member
 
Registered: Aug 2007
Location: Zurich, Switzerland
Distribution: Gentoo
Posts: 999

Original Poster
Rep: Reputation: 142Reputation: 142
Quote:
Originally Posted by GizmoChicken View Post
I think that the Wiki article to which you link lists Intel GPU "generations" in a different context than I meant. To find "4th generation Intel Core processors" in the context that I meant, you should have a look here: http://ark.intel.com/ But in any case, like I said before, iGVT-g is still experimental, so there are no guarantees that any particular processor will work at this point.
Sh**, you're right.
So, bah, I wasn't able to find a neat list of GPU names and their associated generation number (or CPU ID).
Here an example of a page on Intel's site which states the generation number (once you manage to know the codename of the GPU - can potentially be shown by the command "lspci"):
http://ark.intel.com/products/codena...4/Haswell#@All

Last edited by Pearlseattle; 07-07-2015 at 05:04 PM.
 
Old 07-07-2015, 09:36 PM   #7
GizmoChicken
LQ Newbie
 
Registered: Jul 2015
Posts: 4

Rep: Reputation: Disabled
An updated version of XenGT has been released that "can support both Intel 4th generation Core CPU(code name: Haswell) and Intel 5th generation Core CPU (code name: Broadwell), while the limitation of the latter include..." See https://lists.01.org/pipermail/igvt-...ly/000005.html

Also, a mailing list for GVT-g development, bug report and technical discussion is available here: https://lists.01.org/mailman/listinfo/igvt-g

Last edited by GizmoChicken; 07-08-2015 at 01:45 AM.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
KVM connecting VMs (same network) blackRonin Linux - Virtualization and Cloud 3 12-19-2014 04:46 PM
How would you rate KVM, compared to other VMs? walterbyrd Linux - Virtualization and Cloud 5 07-03-2013 06:01 PM
kvm based VMs inside centos 6.4 not getting IP address jagdip Linux - Networking 8 05-05-2013 05:42 PM
what does the columns of perf report (command of perf tool in linux) signifies? viv05 Linux - Software 2 06-01-2012 06:25 AM
[Tcptraceroute/Traceroute/Ping] Windows VMs & Linux VMs BiFo Linux - Networking 0 08-24-2010 02:07 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Virtualization and Cloud

All times are GMT -5. The time now is 02:58 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration