Assert that alignment and distribution is as specified, minimises communications. For example,
SUBROUTINE Subby(A,B,RES)
IMPLICIT NONE
REAL, DIMENSION(:,:), INTENT(IN) :: A, B
REAL, DIMENSION(:,:), INTENT(OUT) :: RES
!HPF$ PROCESSORS, DIMENSION(2,2) :: P
!HPF$ TEMPLATE, DIMENSION(4,6) :: T
!HPF$ DISTRIBUTE *(BLOCK,BLOCK) ONTO *P :: T
!HPF$ ALIGN (:,:) WITH *T(:,:) :: A, B, RES
...
END SUBROUTINE Subby
Asserts that A, B and RES are aligned and distributed as shown.
An INTERFACE should be given.
For more information, click here