Go to the first, previous, next, last section, table of contents.


Basic GA Concepts

Global Arrays functions center around distributed, two-dimensional arrays of numbers. While the programmer can control the distribution, Global Arrays functions operate transparently it.

Most Global Arrays functions operate on patches of 2-D arrays. A patch is a 2-D subarray indexed by an upper-left coordinate (ilo,jlo) and a lower-right coordinate (ihi,jhi).(21) For example, to access the right half of a 100-by-100 Fortran array, the patch would be specified with the parameters ilo=50, jlo=1, ihi=100, jhi=100. The size of a patch can range from one element up to the entire array. Global Arrays functions access patches with put/get semantics; there is no notion of a "sender" or "receiver" process.

Global Arrays functions fit into one of three main categories:

collective operations
These are operations that multiple processes must participate in. They include functions to create and destroy distributed arrays and synchronize processes.
individual operations
These are operations that a single process invokes without the other processes' involvement. They include functions to:
interfaces to mathematics libraries
These are linear-algebra functions (e.g. dot product, vector add, matrix transpose, and matrix multiplication) that operate on entire global arrays.


Go to the first, previous, next, last section, table of contents.