next up previous contents
Next: Alignment Up: Distributions and Processor Arrangements Previous: Examples

What Happens When a Clause Is Omitted

One may omit either the dist-format-clause or the dist-onto-clause for a dummy argument. This is understood as follows:

If the dummy argument has the INHERIT attribute (see Section 4.4.2), then no distribution directive is allowed in any case: the distribution as well as the alignment is inherited from the actual argument.

In any other case in which distribution information is omitted, the compiler may choose the distribution format or a target processor arrangement arbitrarily.

Here are two examples:

!HPF$ DISTRIBUTE WHEEL_OF_FORTUNE *(CYCLIC)

The programmer beleives that the actual argument corresponding to the dummy argument WHEEL_OF_FORTUNE is already distributed CYCLIC. The compiler should insure that the mapping of the passed data is in fact CYCLIC, and remap it if necessary if it is not. It may in addition be remapped onto some other processor arrangement, but there is no reason to; most likely the programmer would be surprised if such a remapping occurred.

!HPF$ DISTRIBUTE ONTO *TV :: DAVID_LETTERMAN

The programmer believes that the actual argument corresponding to the dummy argument DAVID_LETTERMAN is already distributed onto TV in some fashion. The compiler should insure that this is so, and make it so if it is not. The distribution format may be changed as long as DAVID_LETTERMAN is kept on TV. (Note that this declaration must be made in attributed form; the statement form

!HPF$ DISTRIBUTE DAVID_LETTERMAN ONTO *TV         !Nonconforming

does not conform to the syntax for a DISTRIBUTE directive.)