PSPIKE+

PSPIKE+: A family of parallel hybrid sparse linear system solvers. We present PSPIKE+, as a family of parallel hybrid linear system solvers that are more robust than other available preconditioned iterative methods, and more scalable than parallel sparse direct solvers. A critical step in using PSPIKE+ is the extraction of a preconditioner that is in the form of a generalized central band which consists of a set of overlapping diagonal blocks that encapsulate as many of the heaviest elements of the coefficient matrix. To address this issue, we propose the G-PAVER reordering scheme that produces an effective preconditioner in the form of overlapping diagonal blocks while simultaneously accommodating load balancing on distributed-memory architectures and controlling overlap sizes. In each outer Krylov subspace iteration for solving the linear system, we need to solve linear systems involving the preconditioner. This is accomplished using a parallel tearing-based method, which may be regarded as an algebraic domain decomposition scheme. The tearing-based method requires the solution of a much smaller linear system (we call the balance system) whose size is equal to the sum of the overlaps. In this paper, we form the balance system explicitly and solve it directly. Our parallel implementation of PSPIKE+ based on G-PAVER, PARDISO 5.0.0, and solving the explicit balance system results in impressive robustness and good parallel scalability on computing platforms with a limited number of multi-core nodes.