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.
ScaLAPACK is designed for heterogeneous computing and is portable on any computer that supports MPI or PVM.
ScaLAPACK depends on PBLAS operations in the same way LAPACK depends on BLAS.
As of version 2.0 the code base directly includes PBLAS and BLACS and has dropped support for PVM.