<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: unnecessary temporary created in array assignment in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889373#M77727</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Oliver,&lt;BR /&gt;&lt;BR /&gt;When I had problems with earlier versions of IVF and while waiting for a fix I would "engineer" a solution using the Fortran Preprocessor. In a FPP header file (brought in with a #include "...")&lt;BR /&gt;&lt;BR /&gt;#ifdef _BROKEN_ArraySum_&lt;BR /&gt;#define ArraySum(A,B,C) call doArraySum(A,B,C)&lt;BR /&gt;#else&lt;BR /&gt;#define ArraySum(A,B,C) A = B + C&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;Then use the macro in the 100's of places where it mattered. When tentative fix came in the comment out the #define _BROKEN_ArraySum_ and compile then run an integrity/performance test. If the test failed, remove the comment and compile again. FPP makes for easy work.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Thu, 04 Jun 2009 20:58:28 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2009-06-04T20:58:28Z</dc:date>
    <item>
      <title>unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889364#M77718</link>
      <description>Summing two arrays and assigning the sum to a third array seems to trigger the creation of a temporary in ifort 10.1:&lt;BR /&gt;&lt;BR /&gt; var1%arr = var2%arr + var3%arr&lt;BR /&gt;&lt;BR /&gt;All three variables are of the same type and arr is a big allocatable array.&lt;BR /&gt;&lt;BR /&gt;I found this problem because this line produces a stack overflow unless a really big stack size is set. The problem seemingly goes away when using the compiler switch "-heap-arrays", but by taking a look at the memory consumption I can see that still an unneeded temporary is created (but now it is allocated on the heap, so no stack overflow is triggered).&lt;BR /&gt;&lt;BR /&gt;The problem exists in both the linux and windows version of the compiler; it seems to get worse when using OpenMP, probably because each thread wants its own temporaries.&lt;BR /&gt;&lt;BR /&gt;Is there a way to tell the compiler not to create the temporary? This should also be much faster because no result has to be copied from the temporary to the destination variable.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 03 Jun 2009 15:39:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889364#M77718</guid>
      <dc:creator>tom_p</dc:creator>
      <dc:date>2009-06-03T15:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889365#M77719</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
I can't find a compiler option that will eliminate the temp in this case. I'll submit it as a possible optimization improvement to the developers.&lt;BR /&gt;</description>
      <pubDate>Wed, 03 Jun 2009 15:55:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889365#M77719</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-06-03T15:55:45Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889366#M77720</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;As a work-arround add conditional code to compile to call a subroutine to perform the summation (or use DO loop)&lt;BR /&gt;&lt;BR /&gt;subroutine arraySum(inA, inB, outC)&lt;BR /&gt; real(8), intent(in):: inA(:,:),inB(:,)&lt;BR /&gt; real(8), intent(out) :: outC(:,:)&lt;BR /&gt; outC = inA + inB&lt;BR /&gt;end subroutine arraySum&lt;BR /&gt;&lt;BR /&gt;use interface in calling places&lt;BR /&gt;&lt;BR /&gt;you might get better execution speed if you pass in extents of arrays&lt;BR /&gt;&lt;BR /&gt;The DO loop thing might be easire if you only have a few instances of this happening&lt;BR /&gt;&lt;BR /&gt;With conditional code you can then quickly test new revisions of the compiler with a flip of a define.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Wed, 03 Jun 2009 16:15:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889366#M77720</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2009-06-03T16:15:41Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889367#M77721</link>
      <description>Thank you for your answers. As you suggested, I have rewritten the array assignment using DO-loops. This workaround fixes the problem (no stack overflow even without /heap-arrays) and almost exactly doubles the speed of this section of my code. This is probably because memory bandwith is the limiting factor here.&lt;BR /&gt;&lt;BR /&gt;As the impact is so big, I would very much like to see this being optimized in a newer version of the compiler (ifort 11.0 apparently behaves the same as the older version (10.1)).&lt;BR /&gt;&lt;BR /&gt;However, I did not quite understand why using a subroutine alone would change anything; in fact, the summation is already done in a subroutine which does nothing else but summing the different sub-fields of a derived type. If there indeed is a way of not having to explicitly type the DO-loops, I would be very happy to learn about it, as quite a few of the arrays in question have six dimensions and typing the DO-loops for every one of them is rather tedious. Is there perhaps a way to treat a multi-dimensional array as one-dimensional? (RESHAPE is not a solution, as I need this not only for input but also for output.)&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 12:40:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889367#M77721</guid>
      <dc:creator>tom_p</dc:creator>
      <dc:date>2009-06-04T12:40:44Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889368#M77722</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
When you have an assignment of the form A = A + B, the compiler needs to know if there is overlap between the left and right sides, and if so, to what extent. The code in the compiler to do this takes many cases into account, but one it does not look at right now is if the operands are array components of a derived type. When it sees these, it just shrugs its figurative shoulders and says "I don't know", and generates conservative code.&lt;BR /&gt;&lt;BR /&gt;Elimination of unnecessary temps is an ongoing task and we'll take another look at this area to see what we can improve.&lt;BR /&gt;&lt;BR /&gt;The suggestion given in this thread removes the "derived type component" aspect from the overlap detection equation.&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 13:57:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889368#M77722</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-06-04T13:57:03Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889369#M77723</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Steve,&lt;BR /&gt;&lt;BR /&gt;I would think if the derived type were (contained)arrays as opposed to pointer to array, that it would be safe to say "cann't possibly overlap).&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 17:13:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889369#M77723</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2009-06-04T17:13:58Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889370#M77724</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Well, no. Even if they were non-pointer/allocatable arrays, the semantics of A=A+B require that the right side be completely evaluated before the left is assigned to. To avoid creating a temp, you have to make sure that either the references to A on the right overlap the left exactly or not at all.&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 17:42:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889370#M77724</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-06-04T17:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889371#M77725</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/336209"&gt;Steve Lionel (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Well, no. Even if they were non-pointer/allocatable arrays, the semantics of A=A+B require that the right side be completely evaluated before the left is assigned to. To avoid creating a temp, you have to make sure that either the references to A on the right overlap the left exactly or not at all.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Steve, I think the OP refered to A = B+C, not A = A+B. I use a lot of (large) allocatable arrays inside structures, and I am interested in this optimization of the compiler as well.&lt;BR /&gt;&lt;BR /&gt;Olivier</description>
      <pubDate>Thu, 04 Jun 2009 19:28:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889371#M77725</guid>
      <dc:creator>OP1</dc:creator>
      <dc:date>2009-06-04T19:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889372#M77726</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Oops! You're right. Unfortunately, that doesn't help here - the compiler does not even try to figure this out. I have asked that this be improved.&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 19:40:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889372#M77726</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-06-04T19:40:13Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889373#M77727</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Oliver,&lt;BR /&gt;&lt;BR /&gt;When I had problems with earlier versions of IVF and while waiting for a fix I would "engineer" a solution using the Fortran Preprocessor. In a FPP header file (brought in with a #include "...")&lt;BR /&gt;&lt;BR /&gt;#ifdef _BROKEN_ArraySum_&lt;BR /&gt;#define ArraySum(A,B,C) call doArraySum(A,B,C)&lt;BR /&gt;#else&lt;BR /&gt;#define ArraySum(A,B,C) A = B + C&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;Then use the macro in the 100's of places where it mattered. When tentative fix came in the comment out the #define _BROKEN_ArraySum_ and compile then run an integrity/performance test. If the test failed, remove the comment and compile again. FPP makes for easy work.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Jun 2009 20:58:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889373#M77727</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2009-06-04T20:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889374#M77728</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
So if I'm reading this thread correct, a temp variable is always created when assigning one array to another and slower than using do loops like, st1%array=st2%array, is this also true if the bounds are included, st1%array(1:10000)=st2%array(1:10000), thanks&lt;BR /&gt;Jeremy&lt;BR /&gt;</description>
      <pubDate>Wed, 30 Sep 2009 22:54:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889374#M77728</guid>
      <dc:creator>jjfait</dc:creator>
      <dc:date>2009-09-30T22:54:42Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889375#M77729</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;I would not say "always". In the case of allocatable or pointer array components of derived type, a temporary may be made. In normal array assignments, no. Specifying the bounds makes it even harder for the compiler - don't do that if you're copying the whole array. It can also change the semantics of the program, especially for allocatable arrays.&lt;BR /&gt;</description>
      <pubDate>Wed, 30 Sep 2009 23:13:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889375#M77729</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-09-30T23:13:50Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889376#M77730</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/336209"&gt;Steve Lionel (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; &lt;BR /&gt;I would not say "always". In the case of allocatable or pointer array components of derived type, a temporary may be made. In normal array assignments, no. Specifying the bounds makes it even harder for the compiler - don't do that if you're copying the whole array. It can also change the semantics of the program, especially for allocatable arrays.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
The reason i was specifying the indexes was because many times i was receiving a stack overflow error if i didn't and this was one way around it. So I'm getting the impression to always use do-loops. Steve, can you explain how this can change the semantics if copying the whole array or do you mean if only part of the array is copied.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 16:29:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889376#M77730</guid>
      <dc:creator>jjfait</dc:creator>
      <dc:date>2009-10-01T16:29:13Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889377#M77731</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;See &lt;A href="http://software.intel.com/en-us/blogs/2008/03/31/doctor-it-hurts-when-i-do-this/"&gt;Doctor, It Hurts When I Do This&lt;/A&gt; for details on the semantic differences. If you want to use DO loops to do the assignment, I can understand that.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 18:17:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889377#M77731</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-10-01T18:17:56Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889378#M77732</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Very interesting article, i never thought about pointing it to an array function. Is there any downside to just calling -heap arrays, and allocating everything on the heap instead of the stack. This seems to get rid of all the stack overflow exceptions.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 21:36:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889378#M77732</guid>
      <dc:creator>jjfait</dc:creator>
      <dc:date>2009-10-01T21:36:27Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889379#M77733</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
In my view, there is no real downside to heap-arrays. If the arrays are small and the routine does little work, the overhead of allocation and deallocation may be significant, but for most applications it will be noise.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 23:11:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889379#M77733</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-10-01T23:11:56Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889380#M77734</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
Well, if the array is large it can have quite an impact because the temporary has to be copied back to the target array. In my experience using DO-loops almost doubles the speed of the assignment operation (memory bandwith being the limiting factor). This is irrelevant, of course, if the assignment operation takes a relatively small amount of time and memory footprint is not a problem.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 02 Oct 2009 11:19:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889380#M77734</guid>
      <dc:creator>tom_p</dc:creator>
      <dc:date>2009-10-02T11:19:43Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889381#M77735</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
I was not discussing overhead of copying - that is always extra - but rather having array temporaries, when they are created, allocated dynamically vs. on the stack.&lt;BR /&gt;</description>
      <pubDate>Fri, 02 Oct 2009 13:36:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889381#M77735</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-10-02T13:36:08Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889382#M77736</link>
      <description>This was fixed in version 12</description>
      <pubDate>Wed, 16 Feb 2011 20:19:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889382#M77736</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2011-02-16T20:19:36Z</dc:date>
    </item>
    <item>
      <title>Re: unnecessary temporary created in array assignment</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889383#M77737</link>
      <description>Thanks! This eliminates quite a lot of DO-loops :)</description>
      <pubDate>Fri, 18 Feb 2011 13:05:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/unnecessary-temporary-created-in-array-assignment/m-p/889383#M77737</guid>
      <dc:creator>tom_p</dc:creator>
      <dc:date>2011-02-18T13:05:32Z</dc:date>
    </item>
  </channel>
</rss>

