For enthusiasts Future CUDA versions

This topic is started for those who believe that one day nvidia’s CUDA supported devices will be capable to fully emulate CPU’s cores. :)

Imagine, after booting your favorite OS it recognizes a lot of cores (some real from CPU and some emulated from GPU).
Low level drivers (for keyboard, mouse, sound, USB, firewire etc) are started on real cores but applicative software is cappable of using all cores.

What nVidia should apply to their future GPUs that coding of such emulator could be possible?

I think Intel and AMD should be worried about that :)

Actually, I think this is unlikely to be as good as you imagine. The reason that Nvidia can pack so much floating point power into a single chip is that they deliberately designed these devices not to be like CPUs. They dropped the large L2/L3 caches you need on normal CPU cores for good performance in single threaded code, and saved more silicon by having only 1 instruction decoder for every 8 stream processors. The efficiency of CUDA comes from being focused entirely on data-parallel computing.

That said, we’ll probably see the GPU and CPU get closer together on the system, perhaps linked via Hypertransport, or even being stuck on the same piece of silicon, like AMD Fusion.

I agree. What we see now is so blazing fast because the GPU is essentially a specialised processor. Maybe at one point it will move closer to the CPU(s), I am pretty sure it will, but it won’t be able do do the same things fast that the CPU will do fast. Some things will probably always be faster on the CPU than on the GPU. Heterogeneity is the buzzword here.

My personal opinion is that it will take 5-10y+ until compiler technology is up to what (the few but rapidly growing) bunch of fine-grained parallelists like us can now do, manually and admittedly with imperfect tools (multiGPU is in fact funky occasionally).

I dont think this will ever materialize. Just my 2 cents of encouragement :-)