While documentation says that the compiler will make more optimizations for subroutines that use the CONTIGUOUS flag, I thought I ask if this is true of the Intel Compiler.
I always pass to my subroutines contiguous slices such as X(:,:,2:5)
An example subroutine would be:
SUBROUTINE MYSUB(X,Y,Z) REAL, DIMENSION(: ), CONTIGUOUS, INTENT(INOUT):: X REAL, DIMENSION(:,: ), CONTIGUOUS, INTENT(INOUT):: Y REAL, DIMENSION(:,:,:), INTENT(INOUT):: Z CONTIGUOUS:: Z ...CODE... END SUBROUTINE
Does the compiler do any optimizations on X,Y, and Z or is this an unnessary keyword. When is it best to use this?
Thanks in advance