NVIDIA’s G8800 presentation stressed that the company’s overall approach to their new GPU product was that it’s primarily a stream processor that can also be used as a GPU, and not just a GPU that can be used as a stream processor. I have to plead guilty to falling for the spin in my article on the architecture, but thankfully I was set straight via e-mail by someone who knows way more than me about this topic. There’s plenty of dedicated, graphics-specific circuitry on the G8800—this thing was definitely designed from the ground up to push pixels, and it would be a lot slimmer if it didn’t have to produce beautifully rendered 3D graphics. So from a hardware perspective, the G8800 is definitely a GPU with a unified shader model, but it has a shiny new stream-processing toolchain layered on top of it in addition to the existing graphics toolchain.
AMD was clearly watching the G8800 launch, and it probably reaffirmed their own plans to go ahead and play the “hey, it’s not a mere GPU; it’s a dedicated stream processor” with the launch of the AMD Stream Processor. The AMD Stream Processor is a repackaged ATI X1900 (R580) GPU with 1GB of GDDR3 DRAM on a standard PCIe daughtercard. In fact, it even looks like a typical graphics card, but it sells for a hefty $2,599.
AMD has been beta testing this hardware, and the related Close to Metal (CTM) initiative described below, for some time now. The card promises users 360GFLOPS of stream processing power.
In a lot of ways, this “is it mostly a stream processor, or is it just a GPU posing as a dedicated stream processor” discourse is just marketing-driven bunk. All modern GPUs are “stream processors” at their very core, but they have plenty of graphics-specific circuitry included in them that handles different parts of the rendering process. GPUs also come with an extensive toolchain to make graphics programming easier—a collection of APIs, languages, and other types of software abstraction that enable the programmer to use them specifically for rendering graphics.
Metal and remixes
To go with the “stream processor” rebranding effort, AMD has also launched its “Close to Metal” (CTM) initiative. No, this is not a VH1 80’s hair band retrospective. What it is, is AMD opening up the very low-level parts of the R580 architecture that you’d typically never see as a graphics developer, because it’s masked by the drivers. The point of doing this is to get academics and others who want to use GPUs as stream processors to write that missing “stream processing” abstraction layer themselves, and then to tweak it for maximum performance and maintain it.
One thing that I’ve learned over the years is that companies “open” up a technology (or parts of a technology) for one of three reasons:
- Putting it out to pasture: they’re through making money off of it, and they just want to give it away in the hopes that someone will do something useful out with it and that it won’t go to waste. In the software world, this is called “abandonware.”Trying to create a de facto standard: they’d like everyone to use this, because they invented it and their competitor did not. This would presumably give them some kind of benefit if it becomes a de facto standard. Sun’s Java is a cautionary tale here. Everybody uses Java, but the benefits to Sun’s bottom line are pretty hard to quantify. For a hardware example of this phenomenon, see IBM’s “opening” of the POWER architecture.Getting someone else to do your work for you: they’ve got a foundation, but they’re missing some critical pieces that they’d like “hobbyists” and “academics” other open source types to supply.
My initial, and admittedly somewhat superficial, impression of CTM is that it’s a mix of numbers 2 and 3, but mostly 3. AMD/ATI want the HPC community to start buying their GPUs to do stream processing, so instead of enticing them with a complete toolchain (à la NVIDIA) they hope to suck them in by dropping the entire Lego box in their laps and inviting them to make cool things with all the parts.
I think AMD’s approach may actually work, in this case. HPC users write their own code, and many of them live and die by a few cycles saved here and there. So many will appreciate having access to the bare metal. AMD claims that at least 60 companies are signed on to help develop tools for the stream processor via CTM.
Further readingEET, AMD Stream processor rides Nvidia’s wakeIT Jungle, AMD-ATI Merger Bears Stream Processor FruitInquirer, AMD gets close to edge with close to metalNVIDIA rethinks the GPU with the new GeForce 8800AMD/ATI and NVIDIA tout new uses for the GPUPeakStream unveils multicore and CPU/GPU programming solution