Sun S3L 3.0 Programming and Reference Guide

Processes and Process Grids

In a Sun MPI application, each process is identified by a unique rank. This is an integer in the range 0 to np-1, where np is the total number of processes associated with the application.


Note -

This use of rank is totally unrelated to references to S3L array ranks. Process ranks correspond to MPI ranks as used in interprocess communication. Array ranks indicate the number of dimensions an array has.


Sun S3L maps each S3L array onto a logical arrangement of processes, referred is to as a process grid. A process grid will have the same number of dimensions as the S3L array with which it is associated. Each S3L array section that is distributed to a particular process is called a subgrid.

Sun S3L controls the ordering of the np processes within the n-dimensional process grid. Figure 2-1through Figure 2-3 illustrate this with examples of how Sun S3L might arrange eight processes in one- and two-dimensional process grids.

In Figure 2-1, the eight processes form a one-dimensional grid.

Figure 2-1 Eight Processes Arranged as a 1x8 Process Grid

Graphic

Figure 2-2 and Figure 2-3 show the eight processes organized into rectangular 2x4 process grids. Although both have 2x4 extents, the array process grids differ in their majorness attribute. This attribute determines the order in which the processes are distributed onto a process grid's axes or local subgrid axes. The two possible modes are:

In Figure 2-2, subgrid distribution follows a column-major order. In Figure 2-3, process grid distribution is in row-major order.

Figure 2-2 Eight Processes Arranged as a 2x4 Process Grid: Column-Major Order

Graphic

Figure 2-3 Eight Processes Arranged as a 2x4 Process Grid: Row-Major Order

Graphic


Note -

In these examples, axis numbers are one-based (Fortran-style). For the C-language interface, reduce each value by 1.