Unleash Legacy MPI Codes with Kepler's Hyper-Q We said the Kepler architecture-based NVIDIA Tesla K20 GPU would be the highest performance processor the HPC industry has ever seen when we unveiled it at the GPU Technology Conference in May. But recent performance tests on real-world scientific applications show that the forthcoming GPU easily surpasses even our highest expectations. This GPU simply rocks! I’m particularly thrilled about Kepler’s new Hyper-Q feature, which helps increase performance for thousands of legacy MPI applications without requiring a major code rewrite.To illustrate the power of Hyper-Q, I picked a traditionally difficult code for GPUs called CP2K, a popular MPI-based molecular simulations code. Hyper-Q maximizes GPU utilization for the CP2K application, resulting in more than double the performance compared to running the same code without it.
How Hyper-Q Works
A GPU consists of multiple CUDA cores grouped into streaming multiprocessors operating in parallel. A hardware unit called the CUDA Work Distributor (CWD) is responsible for assigning work to the individual multiprocessors.In the current Fermi architecture, the CWD has a single connection to the host CPU and work from different MPI processes is merged into this single queue. This serialization could easily lead to false dependencies among work from different MPI processes, limiting the amount of work that can be executed concurrently on the GPU. This often results in an underutilized GPU.Hyper-Q removes this limitation. As shown in the graphic, the new Kepler-based Tesla K20 GPU provides 32 work queues between the host and the GPU, enabling multiple MPI processes to run concurrently on the GPU. Each MPI process can be assigned to a different hardware work queue, maximizing GPU utilization and increasing overall performance.
By enabling more MPI processes on the GPU, Hyper-Q maximizes GPU utilization,
increasing overall performance.
For more info visit : http://blogs.nvidia.com/2012/08/unleash-legacy-mpi-codes-with-keplers-hyper-q/