Twenty-one-year AMD veteran and HSA (Heterogeneous System Architecture) president Phil Rogers has decamped from AMD to join Nvidia. Rogers will be taking over as Chief Software Architect of Nvidia’s Compute Server division, at a time when Team Green is rolling out features like NVLink and continuing to push forward with its own plans to make CPU and GPU compute more capable. With HSA 1.0 now complete, you could argue Rogers is taking a page from Jim Keller’s book and moving on now that he’s finished his work.
That’s possible — but I honestly doubt it. Jim Keller has a longstanding reputation as a problem solver, and a history of spending only a few years at any given company. Over the course of his career, he’s worked for DEC, AMD, SiByte / Broadcom, PA Semi, Apple, and AMD (again). Rogers, in contrast, was a longtime AMD employee and the very public face of the entire HSA initiative. The problem is, AMD’s ability to actually create an ecosystem around HSA capabilities is extremely limited.
When AMD bought ATI back in 2006, it talked about a “Fusion” of product families that would create synergy between the two companies. At first, that meant better integrated graphics for desktop and mobile processors, but AMD had something far more grand in mind. Integrating a GPU directly into the CPU was a tremendous technical achievement, but the real goal of Fusion (later HSA), was to provide a programming model that allowed developers to write code that would run seamlessly on whatever processor block was best able to execute it.
One thing I want to emphasize is that HSA is a great idea. There’s a reason why companies like Qualcomm, ARM, TI, and Samsung all signed on with the HSA Foundation, and why these companies continue to improve the heterogeneous compute capability of their own solutions. Every major semiconductor company on Earth has taken steps towards heterogeneous compute, from Qualcomm’s Snapdragon 820 and its CPU – GPU – DSP triad, to Intel and the Xeon Phi. The idea of matching the right workload to the right processor is potent, and AMD wasn’t wrong when it recognized that many-core heterogeneous architectures would be critical to long-term performance improvements.
But technical excellence and early design leadership don’t always translate into increased market share. The problem with HSA is that AMD utterly lacked the resources to move the market, as a whole, towards adopting it. Kaveri’s OpenCL performance improved on Richland in a number of ways, as we documented when that chip launched, but 18 months after Kaveri launched, there’s virtually no HSA software in the market.
This isn’t the first time AMD has led in technical development but depended on other companies to ultimately drive adoption. Two of the company’s previous technologies, HyperTransport and x86-64, took similar paths. The difference, however, is that AMD was able to make substantial use of HT in its own hardware — it drove the “glueless” architecture that made Opteron servers so compelling compared with Xeon alternatives in the 4P space back in 2003 to 2005.
As for x86-64, not only did AMD win huge accolades for stealing a march on Intel, it ultimately forced Intel to adopt its own standard for the future of 64-bit on x86 CPUs. HSA wasn’t intrinsically useful to AMD APUs without substantial software support, and AMD simply lacked the funds and development resources to drive wide adoption. AMD’s APUs may be “good enough” for vast swathes of the market, but that hasn’t kept the company’s sales from collapsing. “Good enough” doesn’t kindle the imagination or get developers excited to work on your platform. And while it’s true that GPU performance has been a highlight of AMD’s APUs for many years, great graphics performance (relative to market segment) didn’t require HSA features in the first place.
It should be noted that these problems aren’t at all unique to AMD. After briefly flirting with consumer-level CUDA applications, like the media encoder Badaboom, Nvidia largely left the space. You can still find media encoders with GPU support, to be sure, but there’s been no push to bring GPU acceleration to casual content or to widely leverage OpenCL in every day applications. GPU acceleration remains the province of workstation-class software, for the most part.
So, why move to Nvidia? Because the supercomputer / HSA space offers a much more fertile ground for the kinds of improvements that heterogeneous compute can offer. CUDA is already well-established, AMD doesn’t seem to have any serious plans to attack the market in the near-term future, and Rogers likely wants to see the improvements he’s designed bear fruit in actual shipping software. In the HPC space, building new software capabilities to take advantage of hardware is part of the job, and while Nvidia faces its own headwinds in that market thanks to Intel and Xeon Phi, it’s still a much better overall position.
I don’t think AMD will drop HSA or heterogeneous compute going forward, but AMD’s marketing materials don’t really focus on it these days. That’s likely wise. Fundamental CPU performance and power efficiency are far more critical to the company’s future than any improvements it can incorporate into heterogeneous compute. Nail Zen’s debut and future APU launches, and the HSA question can be dealt with at a later date.