Block Cyclic Data Distribution

The block cyclic data distribution used by ScaLAPACK is justified by the analysis of many algorithms intended for linear algebra calculations and by the goal of achieving good load balancing. See The Design of Linear Algebra Libraries for High Performance Computers, by J. Dongarra and D. Walker, and Parallel Numerical Linear Algebra, by J. Demmel, M. Heath, and H. van der Vorst).

Use the the form below to specify the dimensions of a matrix, the desired blocking, and the process grid configuration. Then click on "distribute data": a new window will pop up with the corresponding block cyclic distribution. The acceptable values are indicated between parentheses; the defaults correspond to those of the matrix A used in Exercise 4 in the hands-on material.

Note that although the PBLAS allow for non-square blocking factors, most ScaLAPACK routines do not, because of alignment constraints (which vary from routine to routine).

matrix dimensions
number of rows   (>0, <101)
number of columns   (>0, <101)
matrix blocking
rows per block   (>0)
columns per block   (>0)
process grid
rows   (>0)
columns   (>0)

ScaLAPACK Tools Home