7596

An MPI-CUDA Implementation and Optimization for Parallel Sparse Equations and Least Squares (LSQR)

He Huang, Liqiang Wang, En-Jui Lee, Po Chen
Department of Computer Science, University of Wyoming, Laramie, WY 82071, USA
2012 International Conference on Computational Science (ICCS), 2012

@article{huang2012ampi,

   title={An MPI-CUDA Implementation and Optimization for Parallel Sparse Equations and Least Squares (LSQR)},

   author={Huanga, H. and Wanga, L. and Leeb, E.J. and Chenb, P.},

   year={2012}

}

Download Download (PDF)   View View   Source Source   

1028

views

LSQR (Sparse Equations and Least Squares) is a widely used Krylov subspace method to solve large-scale linear systems in seismic tomography. This paper presents a parallel MPI-CUDA implementation for LSQR solver. On CUDA level, our contributions include: (1) utilize CUBLAS and CUSPARSE to compute major steps in LSQR; (2) optimize memory copy between host memory and device memory; (3) develop a CUDA kernel to perform transpose SpMV without transposing the matrix in memory or preserving additional copy. On MPI level, our contributions include: (1) decompose both matrix and vector to increase parallelism; (2) design a static load balancing strategy. In our experiment, the single GPU code achieves up to 17.6x speedup with 15.7 GFlops in single precision and 15.2x speedup with 12.0 GFlops in double precision compared with the original serial CPU code. The MPI-GPU code achieves up to 3.7x speedup with 268 GFlops in single precision and 3.8x speedup with 223 GFlops in double precision on 135 MPI tasks compared with the corresponding MPI-CPU code. The MPI-GPU code scales on both strong and weak scaling tests. In addition, our parallel implementations have better performance than the LSQR subroutine in PETSc library.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: