The **BLACS** (Basic Linear Algebra Communication Subprograms)
[50, 54] are a message-passing library designed for linear
algebra. The computational model consists of a one- or two-dimensional
*process grid*, where each process stores pieces of the matrices and vectors.
The BLACS include synchronous send/receive routines to communicate a matrix
or submatrix from one process to another, to broadcast submatrices to
many processes, or to compute global reductions (sums, maxima and minima).
There are also routines to construct, change, or query the process grid.
Since several ScaLAPACK algorithms require broadcasts or reductions
among different subsets of processes, the BLACS permit a process
to be a member of several overlapping or disjoint process grids,
each one labeled by a **context**. Some message-passing systems,
such as MPI [64, 110], also include this context
concept; MPI calls this
a **communicator** . The BLACS
provide facilities for safe inter-operation of system contexts and
BLACS contexts. Further details of the BLACS can be found in [54]. An important aim of the BLACS is to
provide a portable, linear algebra specific layer for communication.

Tue May 13 09:21:01 EDT 1997