Specifying the mapping information is very important. If it is absent then dummy arguments may be remapped and given the default mapping.
INTERFACE EXTRINSIC(F77_LOCAL) & SUBROUTINE Calc_u_like(My_P_No,Siz,Tot_Proc,a,b,c) INTEGER, DIMENSION(:), INTENT(IN) :: B, C INTEGER, DIMENSION(:), INTENT(OUT) :: A INTEGER, DIMENSION(:), INTENT(IN) :: My_P_No INTEGER, INTENT(IN) :: Siz, Tot_Proc !HPF$ PROCESSORS, & !HPF$ DIMENSION(NUMBER_OF_PROCESSORS()) :: P !HPF$ DISTRIBUTE (BLOCK) ONTO P :: A, B, C !HPF$ DISTRIBUTE (BLOCK) ONTO P :: My_P_No END SUBROUTINE output ! EXTRINSIC(F77_LOCAL) END INTERFACE
This is merely an example the keyword F77_LOCAL is not defined in HPF. It may be defined by the local compiler.