Problem occurs when descriptive mappings are used to reduce communications. Consider,
REAL, DIMENSION(100,100) :: A, B
!HPF$ PROCESSORS, DIMENSION(10,10) :: P
!HPF$ DISTRIBUTE (BLOCK,BLOCK) :: A, B
INTERFACE
SUBROUTINE KerXubbie(x,y)
REAL, DIMENSION(:) :: x, y
!HPF$ PROCESSORS,DIMENSION(10) :: P ! non-HPF
!HPF$ ALIGN y WITH *x
!HPF$ DISTRIBUTE *(BLOCK) ONTO *P :: x
END SUBROUTINE KerXubbie
END INTERFACE
...
CALL KerXubbie(A(i,:),b(i,:))
Asserts that x and y are co-mapped and distributed blockwise over 10 processor subset! Not portable but semantics work!
For more information, click here