In the world of high-performance computing, graphics processing units are the talk of the town. But all that debate makes it no easier to identify their future place in the greater scheme of things, says Andrew Jones.
We're desperate to know the future of high-performance computing (HPC) as soon as we can, so we can best invest efforts for our supercomputing needs for the medium term. Without a crystal ball, we look to the past, starting with the massive assumption that how we got here is a good indication of where we are going next. We assume that how Product X succeeded, why Technology Y became dominant and the story behind Company Z's failure are all useful in showing us which of the current crop of products, technologies or companies will fail and which will go on to change our industry.
The big question in high-performance computing (HPC) now is: "What about graphics processing units (GPUs)?" While the bigger question is "What about the software?", GPUs are getting more attention.
For brevity, I'll use the term GPU here to cover all many-core computing devices, meaning GPUs or accelerated processing units (APUs). Are GPUs here to stay, perhaps even to become the dominant HPC processor? Will GPUs go away as people realise they are hard to program? Which kind of GPU or accelerator is going to emerge as the market choice?
The dominant processor for the HPC market today — we'll use the Top500 as the market indicator — is the Intel Xeon x86-64. Of course, x86 only really took off in HPC when AMD came up with AMD64. AMD created and led the adoption of the type of processor that dominates the HPC market now, but Intel in the Xeon developed the most prolific product family within that x86-64 type, which now dominates the Top500.
Eventually, Intel won despite AMD's head start of several years and early performance lead with Opteron. Our first observation from history is that those who end up dominating the market may not be the ones who pioneered the underlying technology.
Thus, although it is reasonably safe to say that Nvidia, especially with Cuda, pioneered the GPU for technical computing and HPC, we cannot be sure at all that Nvidia will be the prevailing technology provider, if and when GPUs become the dominant HPC processor. AMD, Intel and Nvidia all have plans to deliver products that meet the HPC needs beyond current CPUs.
The second observation is that for both AMD with x86-64 and Nvidia with general-purpose GPU computing (GPGPU), the provision of a software ecosystem of compilers, ACML, Cuda and community sites was critical to create momentum behind the technology. Some might even say that the success was because of the software and community rather than because of any advantage of the hardware over other similar solutions.
The third observation is that when early adopters started to...