Since 1986 - Covering the Fastest Computers in the World and the People Who Run Them

Language Flags
August 23, 2012

New Kepler GPU Greases the Wheels for MPI Applications

Michael Feldman

As we get closer to the launch of NVIDIA’s K20 GPU later this year, the company is continuing to sharpen its storyline around the new product. The K20 is the Kepler-generation processor aimed squarely at the supercomputing space and, unlike the K10, incorporates all the bells and whistles for that high-end user base. One of the features the company has talked about at some length is Hyper-Q , and in a recent blog post by Nvidian Peter Messmer, he makes a more specific pitch about how the technology is going to boost the performance and programmability these new devices.

In a nutshell, Hyper-Q is designed to support MPI applications a lot more effectively than in NVIDIA’s Fermi-generation GPUs. In the current architecture, there is only a single work queue to field MPI processes from the host processor. Since the host driver is invariably a multicore x86 chip, there are potentially as many MPI processes in flight as there are cores on the CPU. But with a single work queue on the GPU side, all of the MPI work has to processed serially.

And this would all be fine if each MPI-related computation filled up the GPU, but that’s rarely the case. The result is that much of GPU is idle while it waits for the next MPI process in the queue to kick off. And the CPU is also stuck waiting for the GPU work queue to clear. To get around this, programmers are forced to rip apart their codes so that the GPU has more work to do.

Hyper-Q fixes this by creating 32 work queues in the hardware. So up to 32 MPI tasks can be running on the GPU simultaneously, or until the processor fills up. The bottom line is that more work can be done by the GPU in a given amount of time. The CPU is happier too, since the work being sent to the GPU is being consumed at lot faster.

Messmer says the best part of this is that developers don’t need to modify their codes to rebalance the work for the GPU. They can just run the MPI application as is — running it through the latest CUDA SDK — and the K20 hardware will suck up to 32 MPI processes into the GPU and do all the work balancing automatically. To the application, that makes it feel more like one multicore CPU talking to another.

The example Messmer illustrates in his blog post is CP2K, an open-source application that does atomic and molecular simulations. Running it on a Fermi part, produced little speedup compared to a CPU-only rung, but using a K20, they were able to get a 2.5x performance boost.

Although the K20 won’t be available until the fourth quarter, Messmer says you get ahead of the game and start porting your MPI code to GPUs today with the new OpenACC compiler technology. OpenACC is a high-level framework that uses directives inserted in regular source code to tell the compiler which application pieces are going to the GPU. For MPI processes, directives are inserted into corresponding source, and the compiler generates the code to funnel the computation to the GPU. With Hyper-Q in effect, that work will now be executed in as parallel a manner as possible.

Full story at NVIDIA website

SC14 Virtual Booth Tours

AMD SC14 video AMD Virtual Booth Tour @ SC14
Click to Play Video
Cray SC14 video Cray Virtual Booth Tour @ SC14
Click to Play Video
Datasite SC14 video DataSite and RedLine @ SC14
Click to Play Video
HP SC14 video HP Virtual Booth Tour @ SC14
Click to Play Video
IBM DCS3860 and Elastic Storage @ SC14 video IBM DCS3860 and Elastic Storage @ SC14
Click to Play Video
IBM Flash Storage
@ SC14 video IBM Flash Storage @ SC14  
Click to Play Video
IBM Platform @ SC14 video IBM Platform @ SC14
Click to Play Video
IBM Power Big Data SC14 video IBM Power Big Data @ SC14
Click to Play Video
Intel SC14 video Intel Virtual Booth Tour @ SC14
Click to Play Video
Lenovo SC14 video Lenovo Virtual Booth Tour @ SC14
Click to Play Video
Mellanox SC14 video Mellanox Virtual Booth Tour @ SC14
Click to Play Video
Panasas SC14 video Panasas Virtual Booth Tour @ SC14
Click to Play Video
Quanta SC14 video Quanta Virtual Booth Tour @ SC14
Click to Play Video
Seagate SC14 video Seagate Virtual Booth Tour @ SC14
Click to Play Video
Supermicro SC14 video Supermicro Virtual Booth Tour @ SC14
Click to Play Video