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

cycle velocity

diedro
초급자
758 조회수

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

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

 

0 포인트
TimP
명예로운 기여자 III
758 조회수

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 포인트
응답