Recall an earlier example,
PROGRAM Warty
IMPLICIT NONE
REAL, DIMENSION(4) :: C
REAL, DIMENSION(8) :: D
REAL, DIMENSION(2) :: E
!HPF$ TEMPLATE, DIMENSION(8) :: T
!HPF$ ALIGN D(:) WITH T(:)
!HPF$ ALIGN C(:) WITH T(::2)
!HPF$ ALIGN E(:) WITH T(::4)
!HPF$ DISTRIBUTE (BLOCK) :: T
C = 1; D = 2
E = D(::4) + C(::2)
END PROGRAM Warty
this time the directives use an intermediate template.
For more information, click here