To perform a Sun S3L operation on multiple independent data sets concurrently, you must embed the multiple independent instances of each operand or result argument in a parallel array. The axes of the shape of the parallel array fall into two distinct groups:
The data axes define the geometry of the individual instances of the operand or result.
The instance axes label the multiple instances.
Figure 5-1 illustrates this with an example of a matrix-vector-multiplication operation in which four independent products are computed simultaneously. It shows how the destination and source vectors and the source matrix are organized with respect to the data and instance axes.
The four destination vectors are embedded in a 2D parallel array with one data axis and one instance axis.
The four source vectors are similarly embedded in another parallel array. The source matrices are embedded in a 3D parallel array.
The instances within each variable are labeled 0 through 3.
The logical unit on which the routine operates--sometimes called a cell--is defined by the data axes. The instance axes define the geometry of the frame in which the cells are embedded. The 3D parallel array shown in Figure 5-1 is a frame containing four 2-dimensional cells.
The product of the lengths of the instance axes is the total number of instances. The product of the lengths of the data axes is the size of the cell.