Giz Explains: GPGPU Computing, and Why It'll Melt Your Face Offmatt buchanan5/13/09 3:00pmFiled to: Giz ExplainsserialParallelTopFeatureparallel processingwindows 7Snow leopardNvidiaAtiAmdIntellarrabeeRadeonGeforceCPUGpuGpgpuGraphics Cards941EditPromoteShare to KinjaToggle Conversation toolsGo to permalinkNo, I didn't stutter: GPGPU—general-purpose computing on graphics processor units—is what's going to bring hot screaming gaming GPUs to the mainstream, with Windows 7 and Snow Leopard. Finally, everbody's face melts! Here's how.AdvertisementWhat a Difference a Letter Makes GPU sounds—and looks—a lot like CPU, but they're pretty different, and not just 'cause dedicated GPUs like the Radeon HD 4870 here can be massive. GPU stands for graphics processing unit, while CPU stands for central processing unit. Spelled out, you can already see the big differences between the two, but it takes some experts from Nvidia and AMD/ATI to get to the heart of what makes them so distinct.Traditionally, a GPU does basically one thing, speed up the processing of image data that you end up seeing on your screen. As AMD Stream Computing Director Patricia Harrell told me, they're essentially chains of special purpose hardware designed to accelerate each stage of the geometry pipeline, the process of matching image data or a computer model to the pixels on your screen.GPUs have a pretty long history—you could go all the way back to the Commodore Amiga, if you wanted to—but we're going to stick to the fairly present. That is, the last 10 years, when Nvidia's Sanford Russell says GPUs starting adding cores to distribute the workload across multiple cores. See, graphics calculations—the calculations needed to figure out what pixels to display your screen as you snipe someone's head off in Team Fortress 2—are particularly suited to being handled in parallel.AdvertisementAn example Nvidia's Russell gave to think about the difference between a traditional CPU and a GPU is this: If you were looking for a word in a book, and handed the task to a CPU, it would start at page 1 and read it all the way to the end, because it's a "serial" processor. It would be fast, but would take time because it has to go in order. A GPU, which is a "parallel" processor, "would tear [the book] into a thousand pieces" and read it all at the same time. Even if each individual word is read more slowly, the book may be read in its entirety quicker, because words are read simultaneously.All those cores in a GPU—800 stream processors in ATI's Radeon 4870—make it really good at performing the same calculation over and over on a whole bunch of data. (Hence a common GPU spec is flops, or floating point operations per second, measured in current hardware in terms of gigaflops and teraflops.) The general-purpose CPU is better at some stuff though, as AMD's Harrell said: general programming, accessing memory randomly, executing steps in order, everyday stuff. It's true, though, that CPUs are sprouting cores, looking more and more like GPUs in some respects, as retiring Intel Chairman Craig Barrett told me.