It is a very good idea to include interfaces for all external procedures. These interfaces should obviously contain all the usual Fortran 90 information (especially the INTENT) but, in addition, should contain all relevant mapping information. Specifically they should contain:
For example,
INTERFACE SUBROUTINE Soobie(A,B,Res) USE Global_Mapping_Info REAL, DIMENSION(:,:), INTENT(IN) :: A, B REAL, DIMENSION(:,:), INTENT(OUT) :: Res !HPF$ DISTRIBUTE (BLOCK,BLOCK) ONTO P :: A, B, Res END SUBROUTINE Soobie END INTERFACE
If assumed-shape arrays are being used, interfaces will be mandatory anyway.
Return to corresponding overview page