21.2. MUMPS Sparse Solver Library - 5.2 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2025-12-29
Version
5.2 English

MUltifrontal Massively Parallel Solver (MUMPS: http://mumps-solver.org/) is an open-source package for solving systems of linear equations of the form:

\[Ax = b,\]

where \(A\) is a square sparse matrix that can be one of the following on distributed memory computers:

  • Unsymmetric

  • Symmetric positive definite

  • General symmetric

MUMPS implements a direct method based on a multi-frontal approach which performs the Gaussian factorization:

\[A = LU,\]

where \(L\) is a lower triangular matrix and \(U\) an upper triangular matrix. If the matrix is symmetric then the factorization:

\[A = LDL^T,\]

where \(D\) is a block diagonal matrix performed. The system \(Ax = b\) is solved in the following steps:

  1. Analysis

    During an analysis, preprocessing including re-ordering and a symbolic factorization are performed. This depends on the external libs METIS, SCOTCH, and PORD (inside MUMPS source). \(A_{pre}\) denotes the preprocessed matrix.

  2. Factorization

    During the factorization, \(A_{pre} = LU\) or \(A_{pre} = LDL^T\), depending on the symmetry of the preprocessed matrix, is computed. The original matrix is first distributed (or redistributed) onto the processors depending on the mapping computed during the analysis. The numerical factorization is then a sequence of dense factorization on the frontal matrices.

  3. Solution

    The solution \(x_{pre}\) of:

    \[LUx_{pre} = b_{pre} \quad\text{or}\quad LDL^T x_{pre} = b_{pre}\]

    where \(x_{pre}\) and \(b_{pre}\) are the transformed solution \(x\) and right-hand side \(b\) respectively. They are associated to the preprocessed matrix \(A_{pre}\) and obtained through the forward elimination step:

    \[Ly = b_{pre} \quad\text{or}\quad LDy = b_{pre}\]

    Followed by the backward elimination step:

    \[Ux_{pre} = y \quad\text{or}\quad L^T x_{pre} = y .\]

    The solution \(x_{pre}\) is finally processed to obtain the solution \(x\) of the original system \(Ax = b\).

The AOCL libraries can be integrated with the MUMPS sparse solver to perform highly optimized linear algebra operations on AMD “Zen”-based processors.