Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28446 Discussions

CONTIGUOUS Flag for Dummy Array Arguments

ScottBoyce
Beginner
256 Views

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

0 Kudos
2 Replies
TimP
Honored Contributor III
256 Views

How about checking full. examples e.g.by comparing  opt-report4 ?

0 Kudos
Xiaoping_D_Intel
Employee
256 Views

There are detail explanation and examples in the section 10 of this article.

Thanks,

Xiaoping Duan

Intel Customer Support

 

0 Kudos
Reply