What is SuperLU?

SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines. The library is written in C and is callable from either C or Fortran. The library routines will perform 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.

SuperLU package comes in three different flavors:

  • SuperLU for sequential machines
  • SuperLU_MT for shared memory parallel machines
  • SuperLU_DIST for distributed memory

Using SuperLU_DIST

SuperLU_DIST is available in our HPC cluster systems.

SuperLU_DIST a parallel library for the direct solution of large, sparse, nonsymmetric systems of linear equations for distributed memory cluster system. The library is written in C and MPI, and is callable from either C or Fortran. The library routines perform an LU decomposition with static pivoting and triangular system solutions through forward and back substitution.

To use SuperLU_DIST, you should add the include statement to the .bashrc file. Sample programs with PBS script are available at:

HPC system Statement add to ~/.bashrc file Location of sample programs and PBS script
GRIDPOINT . /share1/bin/start_superlu.sh /share1/SuperLU_DIST/{version}/sample

Additional Information

Official user guide and citation guide is available at Super LU website.