Linear systems are required to solve in many scientific applications and the solution of these systems often dominates the total running time. In this paper, we introduce our work on
developing parallel linear solvers and preconditioners for solving large sparse linear systems using
NVIDIA GPUs. We develop a new sparse matrix-vector multiplication kernel and a sparse BLAS
library for GPUs. Based on the BLAS library, several Krylov subspace linear solvers, and algebraic
multi-grid (AMG) solvers and commonly used preconditioners are developed, including GMRES,
CG, BICGSTAB, ORTHOMIN, classical AMG solver, polynomial preconditioner, ILU(k) and
ILUT preconditioner, and domain decomposition preconditioner. Numerical experiments show
that these linear solvers and preconditioners are efficient for solving the large linear systems.