next up previous contents index
Next: Contexts Up: Basics Previous: Basics

Process Grid


The P  processes of an abstract parallel computer are often represented as a one-dimensional linear array of processes labeled tex2html_wrap_inline14493. For reasons described below, it is often more convenient to map this one-dimensional array of processes into a two-dimensional rectangular grid, or process grid. (A process grid is also referred to as a process mesh.)  This grid will have tex2html_wrap_inline12172 process rows and tex2html_wrap_inline12162 process columns, where tex2html_wrap_inline14499. A process can now be referenced by its row and column coordinates, (tex2html_wrap_inline14501), within the grid, where tex2html_wrap_inline14503, and tex2html_wrap_inline14505). An example of such a mapping is shown in figure 4.1, where tex2html_wrap_inline12422 and tex2html_wrap_inline14509.

Figure 4.1: Eight processes mapped to a tex2html_wrap_inline14511 process grid

In figure 4.1, the processes are mapped to the process grid by using row-major order ; in other words, the numbering of the processes increases sequentially across each row. Similarly, the processes can be mapped in a column-major order  whereby the numbering of the processes proceeds down each column of the process grid. The BLACS routine BLACS_GRIDINIT  performs this task of mapping the processes to the process grid. By default, BLACS_GRIDINIT assumes a row-major ordering, although a column-major ordering can also be specified. The companion routine BLACS_GRIDMAP is a more general form of BLACS_GRIDINIT and allows the user to define the mapping of the processes . Refer to the Appendix D.3 for further details.

All ScaLAPACK routines, with the exception of the band linear system routines, allow the processes to be viewed as a one-dimensional or two-dimensional process grid. The band routines support only one-dimensional process grids.

Susan Blackford
Tue May 13 09:21:01 EDT 1997