When Axel Kohlmeyer, the associate director of the Institute for Computational Molecular Science at Temple University, needed a large cluster of computers on which to run his models of physical molecular interactions, he could not always get time on the supercomputers managed by the major academic centers.
"To do this number of calculations for the phase diagrams, you would not have the computer power locally, so you would have to apply to the supercomputing centers, but our research is not necessarily attractive to them, so we would not get the time," Kohlmeyer says.
[ For timely data center news and expert advice on data center strategy, see CIO.com's Data Center Drilldown section. ]
Yet, thanks to specialized graphics chips, or graphics processing units (GPUs), used by video-game consoles and high-end PCs, Kohlmeyer and his team were able to continue their research work. A server with six of the specialized processors allowed his group to carry on with their computationally intensive work without continually begging CPU cycles from the academic computing facilities.
"We can now do problems that we couldn't do before," he says.
Business Apps Tap In
For technical applications, GPU-based computing is a natural fit. Yet, the specialized servers and supercomputing clusters are also finding their way into data centers in the business world. The reason is easy to see: For many difficult problems, graphics processing unit (GPU) clusters can deliver up to 100 times more calculations than a typical system with the same number of processors, take up less space and use far less power.
Among the applications targeted by GPU clusters include seismic processing to calculate the best places to drill for oil and gas. Search companies use GPU clusters to speed up the specialized operations that rank and sort search results. And investment firms use the clusters to speed up their analysis of various financial products.
"Two factors are of interest: Whether there is a lot of data involved and whether there is a lot of computation involved," says Sumit Gupta, senior manager for NVidia's Tesla GPU products. "If those are true, the GPUs can likely be involved."
One oil-and-gas exploration firm replaced their 2,000-CPU cluster with a 32-GPU cluster, delivering the same performance but requiring less than 4 percent of same volume and 4 percent of the same energy as the company's previous system. In total, GPUs could perform on par with the previous system but at 1/20th the cost.
The promise of GPU-based clusters for advanced computing can be seen in the latest Top500 supercomputing rankings released this month. The Chinese Nebulae supercomputer, which uses an estimated 4,600 GPUs and twice that many CPUs, grabbed the No. 2 slot on the list. Three other systems, two from China and one from Japan, also placed in the Top500 list of supercomputers.
Such performance gains were made possible by a dramatic shift in the architecture of graphics processors. Where GPUs used to speed up a fixed pipeline of graphical computations, chip architectures have become more generalized. Now each GPU consists of a large parallel array of small processors, says Patricia Harrell, director of stream computing for AMD.
"If you look at a graphics processor 10 years ago, you had hardware that was doing something at a fixed step in the pipe line," she says. "Over the years, the hardware became more general purpose and flexible."
Academic research has benefitted tremendously from GPU clusters. Kohlmeyer's team at Temple University now uses a six-GPU cluster in their data center to run many of their simulations, up to 60 times faster than their previous server, allowing them to quickly test new scenarios.
Such small systems could help research group's immensely, NVidia's Gupta says.
"Computing today is a bottleneck for science," he says. "We are not providing enough computing today for scientists and it is slowing down innovation."
GPUs Can't Solve All Problems
With all the advantages for specialized data centers, GPUs will not necessarily solve run-of-the-mill large-scale problems. Calculating large data sets is something at which GPUs excel, but problems that have large data dependencies (and thus a lot of branching instructions) can be problematic.
"The challenge really is that people are used to serial processing, that they have solved the problem and written an algorithm to handle the data sequentially," says NVidia's Gupta.
Reframing problems to run in the massively parallel systems is not easy. Programmers will have to remember techniques that they were told to forget in the 90s, says Kohlmeyer.
"It is not realistic to assume that all applications will run well on GPUs, especially not right now," he says. "To some degree you have to rewrite your software and rethink your strategies for efficient parallelism to get the most performance."
Follow everything from CIO.com on Twitter @CIOonline.