Algebraic Temporal Blocking for Sparse Iterative Solvers on Multi-Core CPUs

09/05/2023
by   Christie Alappat, et al.
0

Sparse linear iterative solvers are essential for many large-scale simulations. Much of the runtime of these solvers is often spent in the implicit evaluation of matrix polynomials via a sequence of sparse matrix-vector products. A variety of approaches has been proposed to make these polynomial evaluations explicit (i.e., fix the coefficients), e.g., polynomial preconditioners or s-step Krylov methods. Furthermore, it is nowadays a popular practice to approximate triangular solves by a matrix polynomial to increase parallelism. Such algorithms allow to evaluate the polynomial using a so-called matrix power kernel (MPK), which computes the product between a power of a sparse matrix A and a dense vector x, or a related operation. Recently we have shown that using the level-based formulation of sparse matrix-vector multiplications in the Recursive Algebraic Coloring Engine (RACE) framework we can perform temporal cache blocking of MPK to increase its performance. In this work, we demonstrate the application of this cache-blocking optimization in sparse iterative solvers. By integrating the RACE library into the Trilinos framework, we demonstrate the speedups achieved in preconditioned) s-step GMRES, polynomial preconditioners, and algebraic multigrid (AMG). For MPK-dominated algorithms we achieve speedups of up to 3x on modern multi-core compute nodes. For algorithms with moderate contributions from subspace orthogonalization, the gain reduces significantly, which is often caused by the insufficient quality of the orthogonalization routines. Finally, we showcase the application of RACE-accelerated solvers in a real-world wind turbine simulation (Nalu-Wind) and highlight the new opportunities and perspectives opened up by RACE as a cache-blocking technique for MPK-enabled sparse solvers.

READ FULL TEXT
research
05/03/2022

Level-based Blocking for Sparse Matrices: Sparse Matrix-Power-Vector Multiplication

The multiplication of a sparse matrix with a dense vector (SpMV) is a ke...
research
07/15/2019

A Recursive Algebraic Coloring Technique for Hardware-Efficient Symmetric Sparse Matrix-Vector Multiplication

The symmetric sparse matrix-vector multiplication (SymmSpMV) is an impor...
research
12/29/2021

Neumann Series in GMRES and Algebraic Multigrid Smoothers

Neumann series underlie both Krylov methods and algebraic multigrid smoo...
research
06/07/2019

Optimal algebraic Breadth-First Search for sparse graphs

There has been a rise in the popularity of algebraic methods for graph a...
research
08/27/2019

High Performance Block Incomplete LU Factorization

Many application problems that lead to solving linear systems make use o...
research
10/29/2022

Alya towards Exascale: Algorithmic Scalability using PSCToolkit

In this paper, we describe some work aimed at upgrading the Alya code wi...
research
12/16/2016

Efficient sparse polynomial factoring using the Funnel heap

This work is a comprehensive extension of Abu-Salem et al. (2015) that i...

Please sign up or login with your details

Forgot password? Click here to reset