ScaLAPACK Home Page


What is ScaLAPACK?

The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers. It is currently written in a Single-Program-Multiple-Data style using explicit message passing for interprocessor communication. It assumes matrices are laid out in a two-dimensional block cyclic decomposition. The goal is to have ScaLAPACK routines resemble their LAPACK equivalents as much as possible.

Like LAPACK, the ScaLAPACK routines are based on block-partitioned algorithms in order to minimize the frequency of data movement between different levels of the memory hierarchy. (For such machines, the memory hierarchy includes the off-processor memory of other processors, in addition to the hierarchy of registers, cache, and local memory on each processor.) The fundamental building blocks of the ScaLAPACK library are distributed memory versions (PBLAS) of the Level 1, 2 and 3 BLAS, and a set of Basic Linear Algebra Communication Subprograms (BLACS) for communication tasks that arise frequently in parallel linear algebra computations. In the ScaLAPACK routines, all interprocessor communication occurs within the PBLAS and the BLACS.

The first public release (version 1.0) of the ScaLAPACK software library occurred on February 28, 1995.

ScaLAPACK is portable across the Intel series (NX), IBM SP series (MPL), Thinking Machines CM-5 (CMMD), and clusters of workstations via PVM and MPI.


What Documentation is Available?

At this time, we do not have a ScaLAPACK Users' Guide available. We still have several unresolved design issues on which we are awaiting feedback from the user community (particularly in the PBLAS). We strongly recommend that you read LAPACK Working Note 100 related to the design issues of the PBLAS.

We also suggest the following working notes: LAPACK Working Note 95: ScaLAPACK: A Portable Linear Algebra Library for Distributed Memory Computers-Design Issues and Performance, LAPACK Working Note 94: A User's Guide to the BLACS v1.0, LAPACK Working Note 92: The Design of a Parallel Dense Linear Algebra Software Library: Reduction to Hessenberg, Tridiagonal, and Bidiagonal Form, LAPACK Working Note 86: The Performance of Finding Eigenvalues and Eigenvectors of Dense Symmetric Matrices on Distributed Memory Computers, and LAPACK Working Note 80: The Design and Implementation of the ScaLAPACK LU, QR, and Cholesky Factorization Routines . Additional information is also available here.


What Routines are Available?

ScaLAPACK routines are available in four types: single precision real, double precision real, single precision complex, and double precision complex. At the present time, the nonsymmetric eigenproblem is only available in single and double precision real.

Index of ScaLAPACK Single Precision REAL Routines.

Index of ScaLAPACK Double Precision REAL Routines.

Index of ScaLAPACK Single Precision COMPLEX Routines.

Index of ScaLAPACK Double Precision COMPLEX Routines.


Installation of ScaLAPACK

A comprehensive Installation Guide for ScaLAPACK, which contains descriptions of the testing programs, is distributed with the complete package.


Support for ScaLAPACK

ScaLAPACK has been thoroughly tested before release on a variety of different architectures. If you do encounter difficulties, however, we invite you to contact the developers at
scalapack@cs.utk.edu
.

Future Releases?

Future Plans for ScaLAPACK.

Additional Information

Performance Graphs


.