- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
See this thread: https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/539969
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page