One problem we foresee moving forwards is that many data centres have huge HPC clusters with hundreds (if not thousands) of nodes that are all CPUs. There are no GPUs in sight in many of these clusters because it's only recently that CUDA-enabled GPUs have become available
Because of this, code is already designed to run fairly well on these nodes, so I asked what will it take for the industry to shift to coding for GPUs bearing in mind the costs associated with a transition? After all, developers develop for installed bases and the CPU has a massive installed base.
“At some point it’s fast enough that you have to take notice,” said Kirk. “It amazes me that people adopted Cell [the pseudo eight-core processor used in the PS3] because they needed to run things several times faster. GPUs are hundreds of times faster so really if the argument was right then, it’s really right now.”
“The bigger picture is going to be that when CUDA tools arrive that allow you to write regular CUDA code that runs on the CPU as well as the GPU. Then it does run everywhere and we can start adding GPUs or CPU cores to increase performance.”
Could server rooms like this be filled with GPUs in the future?
I asked David if that meant CUDA was going to become more general-purpose? “Not really, no – we’re not changing CUDA, we’re just changing where it can run,” he explained.
A brief sidetrack – single chip consoles
With David making a passing reference to Sony’s Cell microprocessor, we managed to get a little sidetracked and started talking about the console market. Part of this discussion tied in with our previous discussions on CPU and GPU integration – could we ever see a single chip console with more power than what's on the market today? After all, both Intel and AMD are talking up GPU integration at the moment and Nvidia has developed a system on a chip for mobile devices.
“Maybe, if there’s a push towards lower costs,” he said rather tentatively.
This was pretty vague, but it followed Nvidia’s feelings on integrating the GPU onto the CPU die – potentially good in the low-cost market or to reduce costs. I was hoping for a more complete answer than that so I pressed the point home by asking about collaboration with Sony on a single-chip solution for a console.
When you look at things from a fairly broad perspective, Cell is just a multi-core CPU based on the PowerPC architecture and some (or all) of its workload could potentially be handled by a flexible and programmable GPU. And if that’s not possible, then surely Nvidia could work with Sony to develop a system on a chip?
“That’s an interesting idea,” said Kirk. “You could take the previous generation, cost-reduce it and maybe bump up the performance a little bit. However, if you really want to get a decent performance jump—generation to generation is typically a 20x performance increase—you really need to take a multi-chip approach to console design.”