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

preprint2015arXivOpen access

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 A∈RN×N{\bf A} \in {\mathbb{R}}^{N \times N} is possibly nonsymmetric and moderately large; i.e., 10000≤N≤50000010000 \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.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.