Wouldn't it possible to have a virtual machine that presents itself as a single CPU and distributes the job efficiently across the many cores that it is running on?
Wouldn't it possible to have a virtual machine that presents itself as a single CPU and distributes the job efficiently across the many cores that it is running on?
Imagine trying to make a virtual machine that would rewrite any bubble sort as a quicksort. Parallelizing algorithms is much more difficult than even that.
Imagine some layer in between an abstract syntax tree and micro-ops. Again, just thinking out loud.
http://en.wikipedia.org/wiki/Hypervisor
In my very layman's opinion, this is a much different problem. Specifically the cost-benefit of discrete vs. MIC for calculations. HPC guys have tooled with it for a while trying to come up with a fast, yet cost effective method of crunching more data. Floating point acceleration specifically offers huge increases in speed for scientific modeling, but comes at a significant cost in terms of design, implementation and execution.
This NVIDIA fluff PR piece was trying to prove something to the effect of, "Don't use on-processor floating point, use our discrete solution!"