For a company that owns about half the world’s GPU intellectual property, AMD remains a distant second to NVIDIA in the GPU computing arena. This is more the result of NVIDIA’s aggressive technology roadmap rather than any fundamental deficiencies on the part of AMD’s graphics design team. But with the advent of AMD’s Cayman architecture, the company’s GPU computing prospects may be looking up.
Cayman is AMD’s latest GPU architecture that has been incorporated in the chipmaker’s newest high-end graphics processors: the Radeon 6950 HD 6970 and 6950. Although the company is not yet talking about its next-generation FireStream GPU offerings for high performance computing, presumably those products will be derived from Cayman technology. From a performance standpoint these future devices should match up very well against NVIDIA’s Fermi-generation Tesla HPC products.
A closer look at the capabilities of the Cayman architecture can be had in David Kanter’s latest article in Real World Technologies. As usual, Kanter does a thorough analysis of the technology and its business prospects, and pays particular attention to how the new GPU design is more geared toward general-purpose computing than AMD’s previous GPU architectures. “Cayman represents a step in the direction towards GPU computing, but a modest and evolutionary improvement in programmability, rather than a wholesale revolution,” writes Kanter.
One area that has been enhanced is instruction parallelism — both task and data. The new design enables multiple applications to execute simultaneously on the processor. Previous AMD GPUs allowed for multiple streams but had to be serialized so that only a one command stream could be run at a time. The Cayman setup is much more friendly to general-purpose computation and is especially important for supporting task level parallelism in OpenCL applications.
At the instruction level, too, Cayman offers a re-architected VLIW that is more generalized. Unlike the previous-generation Cypress design, which used a special pipeline unit to handle transcendentals and data type conversions, in Cayman each pipeline can handle all operations. According to Kanter, this new VLIW has been redesigned to “closer match general purpose workloads and take a step away from the singular focus on graphics.”
The more monolithic VLIW design made room for more SIMD units on the die, and thus more FLOPS. The top-end Radeon 6970 available today to graphics-hungry gamesters offers 2.7 teraflops of single precision performance and 683 gigaflops of double precision.
Still, the graphics legacy remains dominant. The Cayman memory hierarchy has evolved somewhat, but is not as CPU-like and programmable as NVIDIA’s Fermi design. And while floating point performance is impressive (each SIMD unit delivers 128 single precision or 32 double precision FLOP per cycle), its single:double precision ratio is a steep 4:1, compared to NVIDIA Fermi at 2:1. Also, AMD has not mentioned any support for ECC memory, an essential technology for many computing workloads, although Kanter believes Cayman-based GPU computing product could include this feature.
Overall Cayman has a lot offer the prospective GPU computing enthusiast, but with some caveats. Kanter summarizes:
The projected Cayman has 17% higher memory bandwidth, roughly 2.5X the raw single precision FLOP/s and 26% higher raw double precision FLOP/s than the Tesla C2070. However, AMD’s VLIW microarchitecture is inherently less efficient, and the memory hierarchy is also incredibly sensitive to the workload.For single precision applications that are primarily regular computation and regular memory access patterns, Cayman should have good utilization within each VLIW4 offer incredibly attractive performance. Even in the case of a bandwidth bound application, Cayman will be on-par or slightly ahead of the Tesla. For double precision though, Fermi is likely to be the higher performance option.
Beyond the hardware, Kanter believes the real challenge for Cayman will be software, and this is certainly the case for any future GPU computing products. Here, AMD has placed all its bets on OpenCL, an open standard API, but one that is a couple year behind NVIDIA’s CUDA in overall maturity. Kanter thinks AMD has to continue investing in the software ecosystem to remain competitive.
To that I would add that AMD has a couple of even more fundamental problems with regard to GPU computing: focus and vision. If AMD wants to offer a viable alternative to NVIDIA in this realm, it has to make FireStream a first class citizen. Today those offerings are not even listed under its server product set (they’re found under the workstation products), and the latest FireStream 9350 and 9370 products, announced back in June 2010 are nowhere to be found. They were scheduled to launch in Q3 of last year, but I could not uncover any evidence that AMD ever released them into the wild.
The company also needs to offer some sort of strategy that ties its FireStream GPU computing products to its future “Fusion” APUs that will eventually end up in servers and presumably supercomputers. AMD’s CPU-GPU technology is one area where the company can claim it is out in front. The company just needs to come up with some sort of roadmap that shows how its APUs are going move up the GPU computing food chain.
Finally, AMD needs to swallow its pride and develop a CUDA port for its graphics chips. That doesn’t mean it has to drop its long-term commitment on OpenCL. It just needs to recognize that CUDA is currently the de facto API for GPU computing, especially for HPC, and is likely to remain so for at least the near term. Adopting CUDA would go a long way to level the playing field in GPU computing as well as give its larger rival, Intel, something to think about.
To date, AMD’s half-hearted commitment to GPU computing hasn’t paid off. If it’s serious about this market, especially in the HPC realm, it can no longer sit and watch NVIDIA consolidate its hold. Cayman looks like a positive step in that direction, but it needs to do much more.