Back to the full list of teaching materials

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.

Software Design

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. One of the design goals of ScaLAPACK was to have the ScaLAPACK routines resemble their LAPACK equivalents as much as possible.

Supported Architectures

ScaLAPACK is portable on any computer that supports PVM or MPI. Clusters of computers that have PVM and MPI can use the ScaLAPACK software. 

How can I learn about ScaLAPACK

Support for ScaLAPACK

ScaLAPACK has been thoroughly tested on heterogeneous clusters of workstations using pvm3.4BETA and mpich version 1.1.0, and on the IBM SP-2, Intel Paragon, and SGI Power Challenge Array and Origin 2000. The workstations used were ALPHA, AIX46K, HPPA, SUN4, SUN4SOL2, SGI64, and LINUX. If you do encounter difficulties, however, we invite you to contact the developers at

We also highly recommend that the user consult the errata.scalapack file for information on any machine-specific testing abnormalities.

Back to the full list of teaching materials