** Next:** Computational Intrinsic Functions
**Up:** Intrinsic and Library
** Previous:** Notation

In a multi-processor implementation, the processors may be arranged in
an implementation-dependent multi-dimensional processor array. The
system inquiry functions return values related to this underlying
machine and processor configuration, including the size and shape of
the underlying processor array. `NUMBER_OF_PROCESSORS` returns the
total number of processors available to the program or the number of
processors available to the program along a specified dimension of the
processor array. `PROCESSORS_SHAPE` returns the shape of the
processor array.

The values returned by the system inquiry intrinsic functions remain
constant for the duration of one program execution. Thus, `NUMBER_OF_PROCESSORS` and `PROCESSORS_SHAPE` have values that are
restricted expressions and may be used wherever any other Fortran 90
restricted expression may be used. In particular, `NUMBER_OF_PROCESSORS` may be used in a specification expression.

The values of system inquiry functions may not occur in initialization expressions, because they may not be assumed to be constants. In particular, HPF programs may be compiled to run on machines whose configurations are not known at compile time.

Note that the system inquiry functions query the physical machine, and
have nothing to do with any `PROCESSORS` directive that may occur.

- []
*Advice to users.*`SIZE(PROCESSORS_SHAPE())`returns the rank of the processor array. References to system inquiry functions may occur in array declarations and in HPF directives, as in: INTEGER, DIMENSION(SIZE(PROCESSORS_SHAPE())) :: PSHAPE !HPF TEMPLATE T(100, 3*NUMBER_OF_PROCESSORS()) (*End of advice to users.*)

Thu Jul 21 17:05:43 CDT 1994