Guide and Reference


BLACS--Usage in Parallel ESSL for Communication

The Basic Linear Algebra Communication Subprograms (BLACS) provide the same ease-of-use and portability for message passing in parallel linear algebra programs as the Basic Linear Algebra Subprograms (BLAS) provide for computation in such programs. The BLACS efficiently support not only point-to-point operations between processes on a logical two-dimensional process grid, but also collective communications on such grids, or within just a grid row or column (a one-dimensional process grid).

Most communication packages, such as PE, require an address and a length to be sent; therefore, they are classified as having operations based on vectors. In programming linear algebra problems, however, it is preferable to express all operations in terms of matrices. Vectors and scalars are simply subclasses of matrices. The BLACS operate on matrices, as defined by an address, column size, row size, leading dimension, and so forth.

Parallel ESSL includes the BLACS. Any public domain interface that calls the BLACS can be used compatibly with Parallel ESSL.

A BLACS quick reference guide can be found in Appendix A. "BLACS Quick Reference Guide".

An example of the usage of BLACS in a message passing Fortran 90 program is shown in Appendix B. "Sample Programs".

The BLACS interface is documented in references [6], [32], and [33].


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]