What is bad about the procedure in the following code and what will happen as control enters and leaves the procedure:
PROGRAM Bug_Day REAL, DIMENSION(100,100) :: A !HPF$ PROCESSORS, DIMENSION(4,4) :: P !HPF$ DISTRIBUTE (BLOCK,BLOCK) ONTO P :: A INTERFACE SUBROUTINE Wombat(X) REAL, DIMENSION(100,50) :: X !HPF$ PROCESSORS, DIMENSION(4,4) :: P !HPF$ DISTRIBUTE *(BLOCK,BLOCK) ONTO *P :: X END SUBROUTINE Wombat END INTERFACE ! ... CALL Wombat(A(1:100,51:100)) ! ... CALL Wombat(A(1:100,1:50)) ! ... END PROGRAM Bug_Day
Give two suggestions as to how the problem may be averted.