Can multicore CPUs replace the GPU?

Miscellaneous Forums/General Discussion/Can multicore CPUs replace the GPU?

With multicore CPUs starting to become popular, what's to stop them from replacing the graphics card entirely? The GPU is just a specialized processor to take the load off your CPU. With a multicore CPU, you could have one thread process graphics, and the rest of the CPU can be dedicated to your normal game processing.

I think this would be an awesome development, because it would allow you to write your own software renderers in any language, with complete control over the entire pipeline.

Your thoughts?

I've heard and read discussions on this subject. And just like point and click programming, I think this will be "A" future for development. Hearing this I think about Carmack when he said he wanted to make a game entirely out of shaders. I can imagine, an engine like this, dedicated to CPU, seeing how so many design programs are multicore, could be feasible. I see Intel making big money on this. And with the mergers, who's to say they haven't already started. I also see this as a way to lower prices on hardware, or maybe they'll skyrocket. Who knows.

Programming would be more difficult, but alot easier seeing as though every game would have to be multicore on every level, but in a controlled environment, similar to consoles. As a matter of fact, I think this is the only way PC's can implement benefits of console programming. Then PC development would be tremendously lucrative.

But what about upgraded graphics? Sounds like ALOT of money for whatever the next gen is.

What about user modification? Installing a processor, ALOT less trivial than a graphics card.

What about the concept of Aggregation(an enclosed system with many parts dependent on each other) If something breaks then the entire system is broken. Massive troubleshooting.

It sounds like it will happen, almost as if it's pointless to discuss the subject. But those first couple of years are gonna be NASTY!!

I don't see this happening in the foreseeable future.

A GPU is a very specialized processor designed for graphics. A generic CPU can't replace it.

It's coming, and it's called stream processing. Graphics cards are becoming more and more like general processors now days. However, it won't (and can't) be done with x86. The x86 architecture is based around taking a small number of cores (traditionally one - it was never really designed to be multi core) and executing them very very quickly. In contrast, graphics cards are heavily multi core - the 8800 GTX processes 128 shaders in parallel, similar in concept to multicore on x86. Each shader unit on a 8800 GTX is quite a bit slower than a top of the line Conroe based CPU core, but as a whole it's a hell of a lot faster - more than ten times the theoretical throughput. They've got a similar transistor count and only a factor of 2-3 difference in speeds (favouring the CPU), the difference is in the way that the chips as a whole are setup. You can compile and run normal code for them. Single threaded code will be extremely slow, but something that parallizes (?) well will be significantly faster.

The way this is going to happen (both Intel and AMD have announced their plans) is that low end stream processor/graphics cards are going to be integrated onto CPUs in around 2009. They will serve both as a simple graphics card, but also as a way to introduce stream processing as something that normal, everyday applications can take advantage off. The efficiency of matrix calculations per transistor count will be 10-100x higher for stream processors compared to the x86 mutli cores, so as more and more transistors get devoted to it, things like DivX encoding will get a hell of a boost. AMD has stated that it doesn't have any plans to go too much higher with core count with x86 cores - it believes that stream processing is the way to go, so most major calculation applications developed in the range of 2010-2020 will be stream processor based.

There was a nice presentation from Intel about what they are heading for and what kind of research they are doing in these fields. As soon as this runs fast, i'm pretty sure we will see raytracing engines popping up and replacing the current technology once more.

So you better hurry up max3d! :O)

Multi-core and Stream processing are different concepts. Multicore is a 'normal' cpu multiplicated, but is generally not a big leap in full-power - you need an OS and the applications written to use these cores to have the max advantage.
Stream processing is more interesting: it is a 'brute force' approach to specific problems, the power of a GPU in parallel calculations is - as said - 10-100x than a moder CPU (even with multicore). The main disadvantage is the lack of a 'universal driver' to use this power...until someone (Microsoft with DirectX - or I hope - a open source project) will create this interface. Both Nvidia and Ati-Amd have their own project, but I believe Ati-Amd has a little advantage (the Torrenza project / Fusion).

With multicore CPUs starting to become popular, what's to stop them from replacing the graphics card entirely?
That the GPU is several orders of magnitude better at digital signal processing, than a general-purpose CPU. Look at the folding @ home stats - it is insane how many proteins even a low-end ATi card can fold, compared to the most powerful CPUs.

How long will it be before you have multi-core GPU's?

How long will it be before you have multi-core GPU's?


Minus five years? They already are.

Rumours say that we'll see the refresh cycle this fall and in the first half of 2008 they will introduce multicore gfx cards which they will also scale by the number of cores, nVIDIA's G100 and AMD's R700.

Along with multicore-CPUs, this would require the addition of vector processing on the CPU chips.

I'd love it if they could just get rid of the graphics lib layer altogether and let the programmer plot the actual pixels on screen. That would be freaking sweet.

The problem is, when you have a chip to design with a very specific application, you will always be able to make it faster than a CPU, but I hope to be proven wrong.

I agree, the GPU is faster at doing graphics because it's designed for that type of purpose, whereas the CPU is more generic, has to have more generic instructions and uses, and can't specialize particular tasks like the GPU can.

I agree, the GPU is faster at doing graphics because it's designed for that type of purpose, whereas the CPU is more generic, has to have more generic instructions and uses, and can't specialize particular tasks like the GPU can.


But there's no reason why you can't combine a semi-autonomous GPU on the same die as one of more CPU cores... Especially with the aquisition of ATI by AMD I'd be surprised if those won't be part of AMD's standard lineup within the next couple of years.

Yeah, especially as they've actually announced it.

That's.. that's cheating! :)

At the moment there's more work being put into using the gpu to do the cpu's work.