SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations. The library is written in C and is callable from either C or Fortran program. It uses MPI, OpenMP and CUDA to support various forms of parallelism. It supports both real and complex datatypes, both single and double precision, and 64-bit integer indexing. The library routines performs an LU decomposition with partial pivoting and triangular system solves through forward and back substitution. The LU factorization routines can handle non-square matrices but the triangular solves are performed only for square matrices. The matrix columns may be preordered (before factorization) either through library or user supplied routines. This preordering for sparsity is completely separate from the factorization. Working precision iterative refinement subroutines are provided for improved backward stability. Routines are also provided to equilibrate the system, estimate the condition number, calculate the relative backward error, and estimate error bounds for the refined solutions.
Serial SuperLU package also contains ILU routines, using numerical threshold-based dropping, with partial pivoting (ILUTP).
SuperLU package comes in three different flavors:
- SuperLU for sequential machines
- SuperLU_MT for shared memory parallel machines
- SuperLU_DIST for distributed memory
Usage
SuperLU & SuperLU_MT
Version | module name |
---|
5.2.1 | superlu/5.2.1 |
3.1 | superlu-mt/3.1 |
Compiler/MPI | GCC 8.3.1 | GCC 9.3.0 | Intel 19.0.3 | Intel 20.0.3 | Intel 2021.3.0 |
---|
Serial | | | | | |
---|
SuperLU_DIST
Version | module name |
---|
6.3.1 | superlu-dist/6.3.1 |
Compiler/MPI | GCC 8.3.1 | GCC 9.3.0 | Intel 19.0.3 | Intel 20.0.3 | OneAPI 2021.3.0 |
---|
MPICH 3.3.2 | | | | | |
---|
MVAPICH2 2.3.4 | | | | | |
---|
OpenMPI 4.0.5 | | | | |
|
---|
Links
For more information vist