SGEFA_OPEN_MP
Sequential and OpenMP versions of Linpack Solver


SGEFA_OPEN_MP is a C++ program which reimplements the SGEFA/SGESL linear algebra routines from LINPACK for use with OpenMP.

Right now, running for N = 10, 100 and 1000, but only using a 2 Processor Apple G5, the parallel code is not doing well at all. I will try to find out what is holding it back.

Related Data and Programs:

BLAS1_S is a C++ library which contains basic linear algebra routines for vector-vector operations, using single precision real arithmetic.

FFT_OPEN_MP is a C++ program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.

LINPACK is a C++ library which factors and solves systems of linear equations in a variety of formats and arithmetic types.

LINPACK_BENCH is a C++ program which measures the time taken by LINPACK to solve a particular linear system.

MD_OPEN_MP is a C++ program which carries out a molecular dynamics simulation using OpenMP.

MXV_OPEN_MP is a C++ program which compares the performance of the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.

OPEN_MP is a directory of C++ examples which illustrate the use of the OpenMP application program interface for carrying out parallel computations in a shared memory environment.

QUAD_OPEN_MP is a C++ program which approximates an integral using a quadrature rule, and carries out the computation in parallel using OpenMP.

SGEFA_OPEN_MP is also available in a C version and a FORTRAN77 version and a FORTRAN90 version.

Reference:

  1. Peter Arbenz, Wesley Petersen,
    Introduction to Parallel Computing - A practical guide with examples in C,
    Oxford University Press,
    ISBN: 0-19-851576-6,
    LC: QA76.58.P47.
  2. Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, Ramesh Menon,
    Parallel Programming in OpenMP,
    Morgan Kaufmann, 2001,
    ISBN: 1-55860-671-8,
    LC: QA76.642.P32.
  3. Barbara Chapman, Gabriele Jost, Ruud vanderPas, David Kuck,
    Using OpenMP: Portable Shared Memory Parallel Processing,
    MIT Press, 2007,
    ISBN13: 978-0262533027,
    LC: QA76.642.C49.
  4. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1,
    LC: QA214.L56.
  5. Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
    Algorithm 539: Basic Linear Algebra Subprograms for Fortran Usage,
    ACM Transactions on Mathematical Software,
    Volume 5, Number 3, September 1979, pages 308-323.

Source Code:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 24 April 2008.