Research Article

GPU Preconditioning for Block Linear Systems Using Block Incomplete Sparse Approximate Inverses

Algorithm 1

Block-ISAI preconditioning on GPU: .
Input:
 (1) The BILU triangular factors, L and U;
 (2) Input vector, ;
Output:
 (1) The preconditioned vector, ;
S1: setup step:
  S1.1: estimate the sparsity patterns for the inverses of L and U expressed as NL and NU: and ;
  S1.2: extract and from L and U, where and are the non-zero patterns at the column of NL and NU, respectively, indexing block rows and columns in L to form and indexing block rows and columns in U to form ;
  S1.3: form two groups of small block triangular systems in (7), LGSBTS: and UGSBTS: , by looping overall and ;
  S1.4: solve LGSBTS and UGSBTS for the solutions of NL and NU: solve block lower and upper triangular systems in (7) in parallel.
S2: preconditioning step:
  S2.1: perform BSpMV: ;
  S2.2: perform BSpMV: .