When you organize your data to form cells and frames for a multiple-instance operation, apply the following rules:
All parallel arrays involved in the operation must have the same number of instance axes.
Counting up through the axes of the parallel arrays, starting with axis 0 and excluding the data axes, corresponding instance axes must occur in the same order in each operand or result.
The corresponding instance axes of the operands or results must have identical lengths. In some cases, corresponding instance axes must also have identical layouts. The situations where identical layouts are required are identified in the applicable man pages.
The lengths of the data axes must be defined so that the operation makes sense. For example, in matrix multiplication, the data axis lengths of the operand and result matrices must obey the standard rules for axis lengths in matrix multiplication. Specific requirements for data axis lengths are provided in the applicable man pages.
Except where explicitly noted, Sun S3L supports all combinations of layouts for data axes and instance axes. Which layout will provide the best performance for any given operation depends largely on the nature of the operation.
In most cases, however, performance is best when the cells (that is, all of the data axes) are local to a processing element. Instance axes are typically defined as nonlocal axes. Some man pages for Sun S3L routines contain specific information about optimizing layouts.
"Specifying Single-Instance vs. Multiple-Instance Operations" illustrates these rules being applied in a matrix-vector multiplication example.
Most Sun S3L routines impose few or no restrictions on where the instance axes can occur in a parallel array.