AMD looks like it’s getting set to jump back into the GPU computing arena with chips a-blazin. A couple of weeks ago, the company signed up HPC industry-heavyweight John Gustafson as the chief architect for the Graphics Business Unit, what used to known as ATI. Gustafson will essentially fill the CTO role there, driving the technology roadmap and direction for the chipmaker’s discrete GPU business — the Radeon and FirePro lines.
Gustafson is best known for Gustafson’s Law, a partial refute of Amdahl’s Law that redefined conventional wisdom on parallel computing in the modern age. In his most recent position at Intel, he drove research on next-generation computing and storage technologies. Prior to that, he served as the chief exec at Massively Parallel Technologies, a role he took on after leaving his CTO gig at ClearSpeed Technology.
Gustafson’s work at ClearSpeed, a company that built purpose-built floating point accelerators for high performance computing, suggests AMD is interested in applying that expertise to its GPU business. “I suspect that is one of the reasons they brought me in,” he told HPCwire.
Ironically, it was the emergence of general-purpose GPUs by NVIDIA and AMD six years ago that hastened the demise of ClearSpeed, as well as other special-purpose HPC accelerators, like IBM’s PowerXCell 8i Cell processor. As GPUs evolved toward generalized vector processors, it put accelerators on the same path as other commodity chips, significantly narrowing the appeal of custom-built silicon.
Gustafson believes the dual role of the modern GPU, as a graphics engine and compute accelerator, is a solid combo. He sees a lot of overlap between the two domains, given that much of the processor logic for visualization and technical computing can be shared. According to him, compute-specific features don’t end up taking a lot of extra real estate on the die, and in some cases, will actually will save transistors. “People didn’t realize that sometimes the functions done for graphics are exactly what are needed by the HPC community,” explains Gustafson.
But as far as GPU computing is concerned, the company is playing catch up with NVIDIA. Although AMD made an initial investment in the FireStream line of GPU accelerators, its lack of software development support and its reliance on an immature OpenCL programming toolset made for a weaker offering, especially in contrast to NVIDIA, which had built a separate business unit (Tesla) and toolset (CUDA SDK) to drive its GPU computing product line.
But AMD certainly has the wherewithal to make a comeback. The chipmaker’s aggregate GPU business and graphics processor designs are on par with that of NVIDIA’s (in contrast to AMD’s CPU business, which is a distant second to Intel in market share). And although AMD still doesn’t have a mature HPC-oriented software stack to offer, OpenCL has come a long way over the past few years and could begin to challenge CUDA’s current dominance. “I think it is inevitable, especially with both AMD and Intel behind it, that OpenCL will become the de facto solution,” says Gustafson.
From the hardware perspective, the company has been busy refreshing its GPU computing products. Last month, AMD launched two new FirePro cards, the S9000 and S7000 aimed at the server market. The dual-slot S9000 is the more capable one, computationally speaking, sporting ECC memory and 3.23 teraflops of single-precision performance and 806 gigaflops in double-precision performance.
Those numbers are pretty much on par with NVIDIA’s K10 Kepler product, although it’s likely to be a good deal less competitive against the upcoming K20. In any case, multiple teraflops, even the single precision variety, are not to be taken lightly, and this is probably just the beginning of a larger push by AMD. Although he didn’t want to tip his hand too much, Gustafson said he has some “very disruptive ideas for this market… that could dramatically increase the operations per watt, and I think that’s what we need for exascale right now.”
One approach that he’s been kicking around has to do with hardware designs that deliver “good-enough” results. Whether for graphics or computation, Gustafson believes there’s a lot of extra energy efficiency that can be squeezed from the silicon if you match up the application requirements more precisely with the hardware resources needed. He says the industry has tended to sweep those issues under the rug.
At least part of that has to do with matching the precision of the data to the task at hand. In HPC, for example, software tends to default to double precision (64 bits). But if you only need, say, 10 bits to do a calculation, double precision ends up wasting a lot of energy in sending unneeded bits hither and yon across the machine. On the other hand, if the application requires 256-bit accuracy, the hardware should be flexible enough to deal with that as well.
Another way to attack the performance per watt challenge is integrating the GPU logic into a more general-purpose chip, like AMD does with its APU products. While Gustafson thinks that can be a great solution for certain classes of applications that need that type of unified memory model, for others, a dedicated SIMD compute engine with several gigabytes of extremely high bandwidth is what’s called for.
“For about 30 years now, people have been telling me that we’re going to witness a disappearance of discrete accelerators, because their functions will be subsumed into the general-purpose processor,” he says. “But there always seems to be a need for something that is extraordinarily high-powered, but specialized so that you don’t want to make everybody pay for it. I don’t see a change to that.”