[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
Class. Inquiry subroutine.
Arguments.
ARRAY | is a nonsequential array of any type, size, shape, or mapping. It is an INTENT (IN) argument. |
IERR | is a scalar integer of default kind. It is an INTENT (OUT)
argument. Its return value is zero upon successful return and nonzero otherwise.
Errors result if local subgrids cannot be expressed as array sections of
ARRAY.
If any of the optional arguments LB_EMBED, UB_EMBED, or AXIS_MAP is present, then a nonzero value is also returned if the compiler does not organize the local data in serial memory by sequence associating a larger ``embedding'' array (see Section G.3.1 below for more explanation). |
DIM (optional) | is a scalar integer of default kind. It is an INTENT (IN) argument. DIM indicates the axis along which return values are desired. If DIM is not present, values are returned for all axes. |
LB (optional) | is an INTENT (OUT), default integer array. If this argument is present, and if the value returned in IERR is zero, the values returned in array LB are the lower bounds in global coordinates of each processor's subgrid, along one (if DIM is present) or each dimension of ARRAY. |
UB (optional) | is an INTENT (OUT), default integer array. If this argument is present, and if the value returned in IERR is zero, the values returned in array UB are the upper bounds in global coordinates of each processor's subgrid, along one (if DIM is present) or each dimension of ARRAY. |
STRIDE (optional) | is an INTENT (OUT), default integer array. If this argument is present, and if the value returned in IERR is zero, the values returned in array STRIDE are the strides in local memory between elements of each processor's subgrid, along one (if DIM is present) or each dimension of ARRAY. |
LB_EMBED (optional) | is an INTENT (OUT), default integer array. If this argument is present, and if the value returned in IERR is zero, the values returned in array LB_EMBED are the lower bounds in global coordinates of the actual global array elements allocated on each processor, possibly a superset of the user-visible subgrid, along one (if DIM is present) or each dimension of ARRAY. |
UB_EMBED (optional) | is an INTENT (OUT), default integer array. If this argument is present, and if the value returned in IERR is zero, the values returned in array UB_EMBED are the upper bounds in global coordinates of the actual global array elements allocated on each processor, possibly a superset of the user-visible subgrid, along one (if DIM is present) or each dimension of ARRAY. |
AXIS_MAP (optional) | is a rank 2, INTENT (OUT), default integer array. If this
argument is present, its shape must be at least [n,r], where n
is the number of processors and r is the rank of ARRAY.
If the value returned in IERR is zero, the values returned in AXIS_MAP(i,1:r) represent the numbers of the axes of the subgrid on processor i from fastest varying to slowest varying, and form a permutation of the sequence 1,2,...,r. |
For the last six arguments, LB, UB, STRIDE, LB_EMBED, UB_EMBED, and AXIS_MAP, each array has a first axis of extent at least n, where n is the number of processors, and the first n indices of that axis of each array must be distributed (perhaps via an explicit CYCLIC or BLOCK distribution) one index per processor. If a second dimension is needed, it should be a collapsed axis of extent at least equal to the rank of ARRAY.
If HPF_SUBGRID_INFO is called, and the elements of ARRAY that are local to any particular processor are not representable as an array section of the global user array, then a nonzero value is returned for IERR. Otherwise, if any of the optional arguments LB, UB, or STRIDE is present, then the lower bounds, upper bounds, or strides, respectively, that describe the local array sections are returned in terms of one-based, global coordinates.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |