ScaLAPACK is a library of high-performance linear algebra routines for parallel
distributed memory machines. ScaLAPACK solves dense and banded linear systems,
least squares problems, eigenvalue problems, and singular value problems.
The key ideas incorporated into ScaLAPACK include the use of
* a block cyclic data distribution for dense matrices and a block data
distribution for banded matrices, parametrizable at runtime;
* block-partitioned algorithms to ensure high levels of data reuse;
* well-designed low-level modular components that simplify the task of
parallelizing the high level routines by making their source code the
same as in the sequential case.
The goals of the ScaLAPACK project are the same than the one’s of LAPACK, namely:
* efficiency (to run as fast as possible),
* scalability (as the problem size and number of processors grow),
* reliability (including error bounds),
* portability (across all important parallel machines),
* flexibility (so users can construct new routines from well-designed parts),
* and ease of use (by making the interface to LAPACK and ScaLAPACK look as similar as possible).
Many of these goals, particularly portability, are aided by developing and promoting
standards, especially for low-level communication and computation routines. We have
been successful in attaining these goals, limiting most machine dependencies to three
standard libraries called the BLAS, or Basic Linear Algebra Subprograms, LAPACK and BLACS,
or Basic Linear Algebra Communication Subprograms. LAPACK will run on any machine where
the BLAS are available, and ScaLAPACK will run on any machine where BLAS, LAPACK and the
BLACS are available.
The library is currently written in Fortran (with the exception of a few symmetric
eigenproblem auxiliary routines written in C). The name ScaLAPACK is an acronym for
Scalable Linear Algebra PACKage, or Scalable LAPACK. The most recent version of
ScaLAPACK is 2.1.0.0, released in November 16, 2019.
You can find documentation on the system, with the command 'module help scalapack
- The manual is on the web at the original home page (http://www.netlib.org/scalapack)
CINECA consultants can be reached through the address: superc@cineca.it'''
contact = superc@cineca.it