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

CONTIGUOUS Flag for Dummy Array Arguments

ScottBoyce
초보자
473 조회수

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 포인트
2 응답
TimP
명예로운 기여자 III
473 조회수

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

0 포인트
Xiaoping_D_Intel
473 조회수

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

Thanks,

Xiaoping Duan

Intel Customer Support

 

0 포인트
응답