SUPERLU_OPENMP, C++ programs which illustrate the use of the SUPERLU_OPENMP library, a version of SUPERLU compiled with the OpenMP parallel programming interface, for the fast direct solution of large sparse systems of linear equations.
SUPERLU_OPENMP contains a set of subroutines to solve a sparse linear system A*X=B. It uses Gaussian elimination with partial pivoting (GEPP). The columns of A may be preordered before factorization; the preordering for sparsity is completely separate from the factorization.
SUPERLU_OPENMP is implemented in ANSI C, and must be compiled with an ANSI C compiler. It provides functionality for both real and complex matrices, in both single and double precision. The initial letter of a routine name indicates the arithmetic type and precision:
SUPERLU_OPENMP includes functions to read a sparse matrix from a file in the Harwell-Boeing sparse matrix format.
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SUPERLU_OPENMP is available in a C version and a C++ version and a FORTRAN90 version.
HB, a data directory which contains examples of Harwell Boeing (HB) files, a sparse matrix file format;
HB_IO, a C++ library which reads and writes sparse linear systems stored in the Harwell Boeing (HB) format for sparse matrices.
JACOBI_OPENMP, a C++ program which illustrates the use of the OpenMP application program interface to parallelize a Jacobi iteration solving A*x=b.
MGMRES, a C++ library which applies the restarted GMRES algorithm to solve a sparse linear system, by Lili Ju.
OPENMP, C++ programs which illustrate the use of the OpenMP application program interface for carrying out parallel computations in a shared memory environment.
OPENMP_RCC, C++ programs which illustrate how a C program, using OpenMP, can be compiled and run in batch mode on the FSU High Performance Computing (HPC) cluster operated by the Research Computing Center (RCC).
SPARSE_CC, a data directory which contains a description and examples of the CC format, ("compressed column") for storing a sparse matrix, including a way to write the matrix as a set of three files.
SUPER_BLAS, a C++ library which implements some of the Basic Linear Algebra Subprograms for fast execution.
SUPERLU, C++ programs which illustrate how to use the SUPERLU library, which applies a fast direct solution method to solve sparse linear systems, by James Demmel, John Gilbert, and Xiaoye Li.
Many of the examples read the matrix from a file, which uses the Harwell-Boeing sparse matrix format. These matrices include:
PCLINSOL uses CGSSV to solve a linear system one time. The program reads the matrix from the file cg20_cua.txt. Single precision complex arithmetic is used.
PSLINSOL uses SGSSV to solve a linear system one time. The program reads the matrix from the file g20_rua.txt. Single precision real arithmetic is used.
You can go up one level to the C++ source codes.