(on that note, I'm constantly annoyed that despite it being Nvidia specific, everyone supports CUDA for everything cool).
I understand companies have to do this to segregate their products and that it's impractical to have separate fab lines for a chip family for this kind of difference. It's still something I think AMD has a competitive advantage on though and they really need to push that alone (unless they just don't really want to - to sell their own high-end professional cards).
A worse example of this is Nvidia cards not running in systems that have AMD graphics cards in them. Which means, for example, you can't buy a low/mid-range Nvidia card to sit in your system as a dedicated PhysX/CUDA card. I'd consider such a setup for my system and I imagine there's probably others like me out there.
AMD GPU mining rigs and some other hardware pics. http://www.buttcoinfoundation.org/mining-rig-megapost#more-3...
dst = (A & B) | (~A & C).
This is equivalent to the SHA-256 Ch "Choose" function.
It also can be used to compose the SHA-256 Maj "Majority" function with an additional XOR.
Additionally, the AMD ISA doesn't have a "rotate" instruction per-se, BFI_INT is "bitfield insert", which can be used to compose arbitrary length rotates, but is not strictly a rotate in and of itself.
AMD ISA also has instructions for computing integer add with carry, which is great for crushing elliptic curves.
NVidia really, really, sucks for integer compute. Friends don't let friends buy NVidia!
This gives all the flexibility of VHDs and virtualization without losing the bare metal advantages. Installing a new OS shouldn't mean the current OS knows about it.
Game streaming is gathering steam now, don't let the OnLive failure fool you, services like Play-Cast have been running in Korea and other Asian companies for some time now.
They've opted to service their streaming through the carrier (cable companies) instead of over the internet which allowed them to pretty much bypass the latency and bandwidth limitations of open internet routing.
EA is now setting up a similar service with Comcast, and many will follow.
NVIDIA has setup it's "gaming cloud" service for it's Tegra based consoles which also seem to work pretty damn well, and localized streaming on NVIDIA cards has been working very well for several years now.
So sorry while VDI/VGI might be a future like any commercial product if it ever materializes it will be abstracted to a point in which you might not call it VDI/VGI, and no you won't get to tinker with it at that point.
[0] https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVM... [1] http://vfio.blogspot.de/
Apparently it's working very well: https://bbs.archlinux.org/viewtopic.php?id=162768
[0]: https://docs.google.com/spreadsheets/d/1LnGpTrXalwGVNy0PWJDU...
Still, I personally would be reluctant to drop big money on a consumer Nvidia card thinking that I'd always have the ability to use it under KVM with the latest driver. Nvidia could choose to close this particular hole at any time.
The reason I want to do this is that it's great to throw your money into a single high-spec machine, with fast processors, lots of them, lots of RAM, quiet fans, SSDs, etc., and all your VMs are able to share in the benefits. Plus you have far less hardware to manage.
Also, I find it vastly easier to work with Windows when the backing store is abstracted away into something like LVM where I can easily snapshot and rollback and change it out, store it on a RAID array maybe, and all Windows thinks is it's dealing with a bog standard C drive.
Plus, there's a it's-just-cool factor. Cool to have one awesome machine and three monitors, three keyboards and three mice coming out of it, running different desktop operating systems simultaneously, etc. It's like the mainframe got reinterpreted for modern home use.
The trade off is that often much fiddling is required to make it work. Lots of motherboards have hidden gotchas. Consumer Nvidia cards can be somewhere between a hassle to impossible to get working (with KVM currently an exception to this, though I'm guessing that will turn out to be short-lived). Going with AMD means using their drivers, and on Linux I've always had problems with them. (Though if you don't need high-end 3D on your Linux VM, you could grab a cheap Quadro off eBay and that'll work without difficulty.) And if you have a big hardware problem like a motherboard failure, all your systems are down, though that's true for any kind of VM setup.
My Lenovo Y50 has an nVidia GPU with Optimus switching. I have a few games that don't seem to run (Street Fighter X Tekken and Blazblue Continuum Shift), but I can get them to run at 60FPS@1080p on a VM.
This is still based on a 1-1 basis i.e. one GPU passthrough-ed for one VM. Intel's GVT-g, notably XenGT, is IMO more interesting: allowing for one iGPU to be shared with up to 4 VMs (DomU + 3 DomU). This is especially interesting considering Intel's recent inroads into the GPU market with Iris Pro graphics, even bundling them with certain Xeon CPUs.
Intel doesn't ship high end desktop or server CPU's with IGP's atm, the decision for the XEON's was to provide video transcoding performance, even highest performance Iris chip is still no match for even a mid range GPU from 5 years ago.
I'm pretty sure you can (if you have a vt-d capable cpu) use the intel IGP for Linux and a nvidia card dedicated for the vm using kvm and vfio-vga drivers.
Unfortunately I can not test this myself as I have a 4770k cpu in my gaming computer and it does not support vt-d.
Edit: For clarification, if you want to use a virtual machine directly (i.e. not in a window or a virtual terminal on another machine running a virtual machine browser), keyboard and mousing directly into the VM and having the VM direct its output directly to a video card/monitor, you must "pass through" the video card so the VM "owns" it exclusively and the host machine does not. Regardless of whether you want gaming-level graphics or just basic VGA output, you need to give it an actual, real graphics card (there are exceptions with new cards by nVidia that understand VMs and let you "create" a graphics card out of a subsection of a more powerful card, but at prohibitive prices). AMD's entire graphics card lineup, from their $20 to their $700 GPUs will let you do this. nVidia's cards detect they're being passed-through to a VM and won't install the drivers, unless you perform a (risky) hardware hack or use their professional graphics cards that a) aren't designed nor optimized for consumer graphics card use, and b) cost at least an order of magnitude more than their regular graphics cards.