A TEMPLATE declaration has a combined form:
!HPF$ TEMPLATE, DIMENSION(100,100), & !HPF$ DISTRIBUTE(BLOCK,CYCLIC) ONTO P :: T !HPF$ ALIGN A(:,:) WITH T(:,:)
this is equivalent to
!HPF$ TEMPLATE, DIMENSION(100,100) :: T !HPF$ ALIGN A(:,:) WITH T(:,:) !HPF$ DISTRIBUTE T(BLOCK,CYCLIC) ONTO P
Thus, distribution is an attribute of a TEMPLATE.
For more information, click here