GPU-Aware MPI on RDMA-Enabled Clusters: Design, Implementation and Evaluation
Authors:
- 29 August 2013
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 25 (10) , 2595-2605
Abstract
Designing high-performance and scalable applications on GPU clusters requires tackling several challenges. The key challenge is the separate host memory and device memory, which requires programmers to use multiple programming models, such as CUDA and MPI, to operate on data in different memory spaces. This challenge becomes more difficult to tackle when non-contiguous data in multidimensional structures is used by real-world applications. These challenges limit the programming productivity and the application performance. We propose the GPU-Aware MPI to support data communication from GPU to GPU using standard MPI. It unifies the separate memory spaces, and avoids explicit CPU-GPU data movement and CPU/GPU buffer management. It supports all MPI datatypes on device memory with two algorithms: a GPU datatype vectorization algorithm and a vector based GPU kernel data pack and unpack algorithm. A pipeline is designed to overlap the non-contiguous data packing and unpacking on GPUs, the data movement on the PCIe, and the RDMA data transfer on the network. We incorporate our design with the open-source MPI library MVAPICH2 and optimize a production application: the multiphase 3D LBM. Besides the increase of programming productivity, we observe up to 19.9 percent improvement in application-level performance on 64 GPUs of the Oakley supercomputer.Keywords
This publication has 24 references indexed in Scilit:
- Enabling Fast, Noncontiguous GPU Data Movement in Hybrid MPI+GPU Environments2012
- Efficient Intranode Communication in GPU-Accelerated Systems2012
- OMB-GPU: A Micro-Benchmark Suite for Evaluating MPI Libraries on GPU Clusters2012
- Physis2011
- Optimized Non-contiguous MPI Datatype Communication for GPU Clusters: Design, Implementation and Evaluation with MVAPICH22011
- MVAPICH2-GPU: optimized GPU to GPU communication for InfiniBand clustersComputer Science - Research and Development, 2011
- Acceleration of Streamed Tensor Contraction Expressions on GPGPU-Based Clusters2010
- An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters2010
- Message passing for GPGPU clusters: CudaMPI2009
- A lattice Boltzmann model for multiphase flows with large density ratioJournal of Computational Physics, 2006