## Abstract

This paper discusses parGeMSLR, a C++/MPI software library for the solution of sparse systems of linear algebraic equations via preconditioned Krylov subspace methods in distributed-memory computing environments. The preconditioner implemented in parGeMSLR is based on algebraic domain decomposition and partitions the symmetrized adjacency graph recursively into several non-overlapping partitions via a p-way vertex separator, where p is an integer multiple of the total number of MPI processes. From a numerical perspective, parGeMSLR builds a Schur complement approximate inverse preconditioner as the sum between the matrix inverse of the interface coupling matrix and a low-rank correction term. To reduce the cost associated with the computation of the approximate inverse matrices, parGeMSLR exploits a multilevel partitioning of the algebraic domain. The parGeMSLR library is implemented on top of the Message Passing Interface and can solve both real and complex linear systems. Furthermore, parGeMSLR can take advantage of hybrid computing environments with in-node access to one or more Graphics Processing Units. Finally, the parallel efficiency (weak and strong scaling) of parGeMSLR is demonstrated on a few model problems arising from discretizations of 3D Partial Differential Equations.

Original language | English (US) |
---|---|

Article number | 102956 |

Journal | Parallel Computing |

Volume | 113 |

DOIs | |

State | Published - Oct 2022 |

### Bibliographical note

Funding Information:The work of the first and the last author was supported by the National Science Foundation (NSF), United States of America grant DMS-1912048 . The work of the third author was supported by the National Science Foundation (NSF), United States of America grant OAC-2003720 . This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory, United States of America under Contract DE-AC52-07NA27344 (LLNL-JRNL-830724)

Publisher Copyright:

© 2022 Elsevier B.V.

## Keywords

- Distributed-memory preconditioner
- Graphics Processing Units
- Low-rank correction
- Schur complement
- Sparse non-Hermitian linear systems