English

Analysis of A Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards

Distributed, Parallel, and Cluster Computing 2015-09-29 v1 Mathematical Software Numerical Analysis

Abstract

We discuss an approach for solving sparse or dense banded linear systems Ax=b{\bf A} {\bf x} = {\bf b} on a Graphics Processing Unit (GPU) card. The matrix ARN×N{\bf A} \in {\mathbb{R}}^{N \times N} is possibly nonsymmetric and moderately large; i.e., 10000N50000010000 \leq N \leq 500000. The split and parallelize{\it split\ and\ parallelize} (SaP{\tt SaP}) approach seeks to partition the matrix A{\bf A} into diagonal sub-blocks Ai{\bf A}_i, i=1,,Pi=1,\ldots,P, which are independently factored in parallel. The solution may choose to consider or to ignore the matrices that couple the diagonal sub-blocks Ai{\bf A}_i. This approach, along with the Krylov subspace-based iterative method that it preconditions, are implemented in a solver called SaP::GPU{\tt SaP::GPU}, which is compared in terms of efficiency with three commonly used sparse direct solvers: PARDISO{\tt PARDISO}, SuperLU{\tt SuperLU}, and MUMPS{\tt MUMPS}. SaP::GPU{\tt SaP::GPU}, which runs entirely on the GPU except several stages involved in preliminary row-column permutations, is robust and compares well in terms of efficiency with the aforementioned direct solvers. In a comparison against Intel's MKL{\tt MKL}, SaP::GPU{\tt SaP::GPU} also fares well when used to solve dense banded systems that are close to being diagonally dominant. SaP::GPU{\tt SaP::GPU} is publicly available and distributed as open source under a permissive BSD3 license.

Keywords

Cite

@article{arxiv.1509.07919,
  title  = {Analysis of A Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards},
  author = {Ang Li and Radu Serban and Dan Negrut},
  journal= {arXiv preprint arXiv:1509.07919},
  year   = {2015}
}

Comments

38 pages