Intel’s mega-graphics chip and future of GPUs
If you think PhysX and Larrabee mean you won't need a fast CPU for games, you've been sucked in by marketing hype. Nathan Taylor delves into the real differences between graphics chips and CPUs.
For some time now, Nvidia, and to a lesser extent AMD/ATI, have been talking up the potential of their graphics chips to do more than just graphics.
Nvidia even has an API called PhysX that allows developers to use the processing power in their GPUs for in-game physics. It also has CUDA (Compute Unified Device Architecture), a set of tools to help third party developers write code that will execute natively on Nvidia GPUs.
This code can be anything, from AI to physics to word processing. This whole effort has spawned a new acronym, GPGPU (general purpose computing on graphics processing units).
Given all this, I was interested to hear yesterday that Larrabee, Intel’s upcoming GPU architecture (which is not due until late next year), looks like it will be using a vast number of cores based on the original Pentium. And when I say Pentium cores, I mean the original Pentium, from way back when.
Yep, Larrabee looks like it will actually be an x86 card, albeit with advanced vector instructions that will enable quick graphics and stream processing.
Reports vary on the capabilities and capacities of Larabee, but early indications are that the processor will have either 24 or 32 x86 Pentium processor cores, running at between 1.7 and 2.5GHz.
According to Heise, with 512-bit wide vector processing, a 32-core, 2GHz Larrabee would be theoretically capable of something in the order of two teraflops at peak, which is about twice as much as the GeForce GTX 280.
What’s more, it will run x86 instructions, which means developers should be able to write code for it more easily. In theory, you wouldn’t even need a CPU to run Windows and other x86 programs on Larabee, and it almost seems like Intel is eating its own lunch.
All this talk of running regular programs on the GPU and de-emphasising the CPU as the heart of PC performance is still pretty much just talk, however. It turns out that GPUs are great at vast, in order, number crunching. They’re designed for massive parallelism, and tend to have stratospheric raw throughput numbers.
But they’re not that good at dealing with decision making and branching, like the common if-then-else construct. A huge chunk of the modern CPU is devoted to branch prediction, memory pre-fetching, efficient multitasking and out-of-order execution, all of which GPUs tend to lack.
In short, CPUs eschew raw bandwidth for processing efficiency. For general purpose processing as well as things like game AI, that makes them much more capable than a GPGPU solution.
(As an aside, this is why the hyperbolic claims about the capabilities of the current generation of games consoles – and the mainstream media’s rote repetition of them – annoys me so much. The designers stripped out all the intelligence in the processors used in the Xbox 360 and PlayStation 3 and went for raw throughput, on the principal that they could brute force their way through any problems. That’s fine, but they shouldn’t pretend that there aren’t sacrifices in that approach).
In any case, I don’t think the CPU has too much to worry about just yet. There’s still plenty of uses for it and plenty of things it’s better at than the GPU, in spite of claims by Nvidia and others to the contrary. Even if you’re primarily a gamer, having a good CPU is still going to be worthwhile.
Other Blog Entries written by Nathan Taylor:
Thoughts on this article? Add a comment below.
Comments: 1
|
.:Cyb3rGlitch:.
Jul 9, 2008 11:30 AM
|
I was wondering about this GPGPU phenomenon. Thanks for clearing that up. I suppose the good thing about GPGPU talk is that it has put Intel in a tight position, so they have to produce the goods.
This will be an interesting time in computing... |