LAPACK

Revision as of 00:01, 6 December 2010 by Tstitt (talk | contribs) (Further Information)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

General Description

LAPACK is a library of Fortran 77 subroutines for solving the most commonly occurring problems in numerical linear algebra. It has been designed to be efficient on a wide range of modern high-performance computers. The name LAPACK is an acronym for Linear Algebra PACKage.

LAPACK can solve systems of linear equations, linear least squares problems, eigenvalue problems and singular value problems. LAPACK can also handle many associated computations such as matrix factorizations or estimating condition numbers.

LAPACK contains driver routines for solving standard types of problems, computational routines to perform a distinct computational task, and auxiliary routines to perform a certain subtask or common low-level computation. Each driver routine typically calls a sequence of computational routines. Taken as a whole, the computational routines can perform a wider range of tasks than are covered by the driver routines. Many of the auxiliary routines may be of use to numerical analysts or software developers, so we have documented the Fortran source for these routines with the same level of detail used for the LAPACK routines and driver routines.

Dense and band matrices are provided for, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices.

Basic Usage

The LAPACK libraries are located in the AFS directory /afs/crc.nd.edu/x86_64_linux/scilib/lapack.

Two compilers are currently supported: GNU gfortran/gcc/g++, and Portland Group pgf90/pgcc. The gnu subdirectory contains the LAPACK libraries to be used with gfortran/gcc/g++ compilers. The pgi subdirectory contains the LAPACK libraries to be used with pgf90/pgcc.

To DYNAMICALLY access the library using the Portland compiler from a Fortran program:

pgf90 -Wl,-rpath,/afs/crc.nd.edu/x86_64_linux/scilib/lapack/pgi my_fortran_program.f90 -llapack

To STATICALLY access the library using the Portland Group compiler from a Fortran program:

pathf90 /afs/crc.nd.edu/x86_64_linux/scilib/lapack/pgi/liblapack.a my_fortran_program.f90

The advantages to dynamic libraries are smaller executable size, and the ability to update a library without recompilation of code.

Further Information

See the official site for more detail: LAPACK

  • Intel provide optimized LAPACK routines in their MKL library
  • AMD provide optimized LAPACK routines in their ACML library