-rule
to to is alignee
-to or distributee
XBNF
- An object in COMMON may not be declared DYNAMIC and
may not be aligned to an object (or template) that is DYNAMIC.
(To get this kind of effect, Fortran 90 modules must be used instead
of COMMON blocks.)
- An object with the SAVE attribute may not be declared DYNAMIC
and may not be aligned to an object (or template) that is DYNAMIC.
A REALIGN directive may not be applied to an alignee that does not
have the DYNAMIC attribute. A REDISTRIBUTE directive may not be
applied to a distributee that does not have the DYNAMIC attribute.
A DYNAMIC directive may be combined with other directives, with the
attributes stated in any order, consistent with the Fortran
90 attribute syntax.
Examples:
!HPF$ DYNAMIC:: A,B,C,D,E
!HPF$ ALIGN WITH SNEEZY, DYNAMIC:: X,Y,Z
!HPF$ DISTRIBUTE(BLOCK, BLOCK), DYNAMIC :: X,Y
The first two examples mean exactly the same thing.
The next two examples mean exactly the same second thing.
The last two examples mean exactly the same third thing.
The three directives
!HPF$ DISTRIBUTE(BLOCK, BLOCK) ONTO P:: A,B,C,D
!HPF$ TEMPLATE, DISTRIBUTE(BLOCK, BLOCK) ONTO P, &
!HPF$ DIMENSION(64,64),DYNAMIC :: A,B,C,D