Technical data
Cray Standard C/C++ Reference Manual
following is an example of a guided distribution
that assumes 8 processors and 1000 iterations:
125 110 96 84 74 64 56 49
43 38 33 29 25 22 19 17
15 13 11 10 9 8 7 6
54433322
22111111
1
vector The vector argument splits the iteration space
into chunks of varying sizes down to a minimum
size of 64 or 128, depending on the vector
length of the target machine. The sizes of the
chunks are computed at run time by using an
algorithm that attempts to balance the load on
each processor so that all processors finish their
work at approximately the same time.
3.8.13.4 Miscellaneous Arguments
The following arguments specify miscellaneous arguments that do not fit either
of the previous categories.
A
rgument Description
if (exp) The scalar expression (exp) enclosed in parentheses
that follows the if argument is evaluated at run
time, just prior to execution of the parallel region.
If exp is true, tasking is performed. If exp is false,
tasking is not performed. The if expression
cannot contain side effects. This argument can
be used only with the parallel directive or
taskloop directive for stand-alone task loops (see
taskloop directive, Section 3.8.4, page 70).
maxcpus (exp) The maxcpus argument specifies the maximum
number of CPUs that the parallel region can
effectively use. Specifying maxcpus does not
ensure that exp processors will be assigned; it
simply specifies the optimal maximum. If exp is
less than or equal to 0, it is assumed to be 1.
savelast The savelast argument indicates that the
final iteration of the loop (or loop partition,
84 S–2179–36










