×

Generating approximate inverse preconditioners for sparse matrices using CUDA and GPGPU. (English) Zbl 1229.65059

Summary: The problem of numerical solutions of sparse matrix-based linear systems arises from many scientific applications. Iterative solvers and corresponding preconditioning techniques are usually adopted. Due to the the irregularity in memory access patterns and undeterministic branching behavior of sparse matrix-based algorithms, they present unique problems for emerging GPU-based platforms.
This paper discusses the techniques associated with applying GP-GPU and CUDA to the generation of right-looking approximate inverse preconditioners (AINV) and preconditioned GMRES based on them. Parallel algorithms are designed for generating AINV preconditioners with predefined sparsity pattern or dynamic fill-in control themes. Detailed complexity analysis is provided for dynamic fill-in control in preconditioners. Shared memory-based optimization yield 200% speedup in the sparse vector inner products and sparse vector updates; while overall speedup compared with parallel CPU-based implementations are 3 times and 6 times, respectively. The preconditioned GMRES iteration based on AINV witnessed 7 to 9 times speedup, due to the high efficiency of matrix-vector product based preconditioning. The developed techniques can also be applied to other Krylov solvers and preconditioners.

MSC:

65F08 Preconditioners for iterative methods
65F10 Iterative numerical methods for linear systems
65F50 Computational methods for sparse matrices
65Y05 Parallel numerical computation
65Y15 Packaged methods for numerical algorithms
65Y20 Complexity and performance of numerical algorithms