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

CONTIGUOUS Flag for Dummy Array Arguments

ScottBoyce
Novice
474 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
474 Views

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

0 Kudos
Xiaoping_D_Intel
Employee
474 Views

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

Thanks,

Xiaoping Duan

Intel Customer Support

 

0 Kudos
Reply