ScaLAPACK



next up previous
Next: Target Architectures Up: Dense Linear Algebra Previous: LAPACK

ScaLAPACK

  The ScaLAPACK software library extends the LAPACK library to run scalably on MIMD, distributed memory, concurrent computers [9][8]. 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. 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. The fundamental building blocks of the ScaLAPACK library are distributed memory versions of the Level 2 and Level 3 BLAS, and a set of Basic Linear Algebra Communication Subprograms (BLACS) [20][17] for communication tasks that arise frequently in parallel linear algebra computations. In the ScaLAPACK routines, all interprocessor communication occurs within the distributed BLAS and the BLACS, so the source code of the top software layer of ScaLAPACK looks very similar to that of LAPACK.

The interface for ScaLAPACK is similar to that of LAPACK, with some additional arguments passed to each routine to specify the data layout.


Jack Dongarra
Wed Jun 21 02:35:11 EDT 1995