The following Fortran 90 program:
PROGRAM Warty IMPLICIT NONE REAL, DIMENSION(4) :: C REAL, DIMENSION(8) :: D REAL, DIMENSION(2) :: E C = 1; D = 2 E = D(::4) + C(::2) END PROGRAM Warty
should be given these HPF directives to ensure minimal (zero) communications:
!HPF$ ALIGN C(:) WITH D(::2) !HPF$ ALIGN E(:) WITH D(::4) !HPF$ DISTRIBUTE (BLOCK) :: D
Note, cannot distribute C or E. Only distribute align targets.
For more information, click here