Application Examples
scattering accelerator cavities performance

SuperLU  
SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on highend computers. The library is written in C and is callable from either C or Fortran. The library routines perform an LU decomposition with numerical pivoting and triangular system solves through forward and back substitution. The LU factorization routines can handle nonsquare 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. The routines have been carefully designed for optimal performance in solving large systems on modern computer architectures. The factorization algorithm uses a graph reduction technique to reduce graph traversal time in the symbolic analysis, and data movement between levels of the memory hierarchy is reduced through loop ordering and the use of dense matrix operations in the numerical kernel. For the distributed memory implementation, a twodimensional block cyclic matrix distribution is used to enhance scalability. SuperLU contains a collection of three related subroutine libraries: sequential SuperLU for uniprocessors, the multithreaded version (SuperLU_MT) for mediumsize SMPs, and the MPI version (SuperLU_DIST) for large distributed memory machines. All these implementations are portable across many different platforms.
SuperLU was developed at the UC Berkeley Computer Science Division and at NERSC for general use in the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines. Its principal developers were Jim Demmel, John Gilbert and Xiaoye (Sherry) Li. 

