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.[1][2][3]
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.
After two decades of operation, a new library was created to replace ScaLAPACK, which was not suitable for modern accelerated architectures. Slate is written in C++ and was designed primarily to serve as a dense linear algebra library to the United States Department of Energy and to the high-performance computing community at large.[4][5]
{{cite journal}}
: Cite journal requires |journal=
(help)
{{cite journal}}
: Cite journal requires |journal=
(help)CS1 maint: multiple names: authors list (link)