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

cycle velocity

diedro
Beginner
295 Views

Dear all,

I have a very simple question. If I have two vector, let's say AA(:) and BB(:), what is between the following options the faster one?

DO i=1,SIZE(AA)

       AA(i)=BB(i)

ENDDO

or 

AA(:) = BB(:)

thanks a lot

0 Kudos
2 Replies
FortranFan
Honored Contributor II
295 Views

See this thread: https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/539969

 

0 Kudos
TimP
Honored Contributor III
295 Views

Assuming that diedro hasn't set up any EQUIVALENCE or POINTER overlap between these arrays, there's no reason for the generated code to differ (probably a call to an intel_fast_memcpy, in the absence of directives to the contrary).  You can't call it a "very simple question" considering that it doesn't make sense in isolation.

AA(:)=BB(:) used to be more likely to provoke an extra copy than AA=BB, but one might hope that such an embarrassment is a thing of the past.

There's a use for the opt-report.

0 Kudos
Reply