<?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 Summing across coarrays in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769723#M21946</link>
    <description>Even better. Thanks.&lt;DIV&gt;(I guess I was thinking about the prize fighter!)&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;D&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 13 Aug 2012 15:09:08 GMT</pubDate>
    <dc:creator>David_DiLaura</dc:creator>
    <dc:date>2012-08-13T15:09:08Z</dc:date>
    <item>
      <title>Summing across coarrays</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769721#M21944</link>
      <description>Colleagues:&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm upgrading some legacy engineering code to take advantage of Coarray Fortran. In the routine I've started with there is only one coarray. It executes correctly with eight images and generates the same values as before. I can see the basic speedup in all the work done until, at the very end, I need to sum across the coarray that each image has contributed to. The array is ~ 3000 x 400, with 8 images. The basic work in each image that manipulates the local copy of this array is done in &amp;lt; 1 sec. But the summation performed at the very end of the code (in only the 1st image) takes 10 seconds.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;sync all&lt;/DIV&gt;&lt;DIV&gt;if( this_image() == 1 ) then&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;do I = 2,num_images()&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;flux = flux + flux&lt;I&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;end do&lt;/DIV&gt;&lt;DIV&gt;end if&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Is coarray summing that inefficient? But I reserved the right to be doing this improperly! It is actually faster (by an order of magnitude) to have each image write out the local copy of the array, and have the 1st image read the files into local array(s) and perform the sum.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Any suggestions?&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 10 Aug 2012 15:24:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769721#M21944</guid>
      <dc:creator>David_DiLaura</dc:creator>
      <dc:date>2012-08-10T15:24:53Z</dc:date>
    </item>
    <item>
      <title>Summing across coarrays</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769722#M21945</link>
      <description>David,&lt;BR /&gt;&lt;BR /&gt;It's Jim by the way.&lt;BR /&gt;&lt;BR /&gt;Untested code&lt;BR /&gt;&lt;BR /&gt;i=2&lt;BR /&gt;do while(i .lt. num_images())&lt;BR /&gt; sync all&lt;BR /&gt; if(mod(ImageNum-1,i) .eq. 0) then&lt;BR /&gt; array = array + array&lt;I&gt;&lt;BR /&gt; endif&lt;BR /&gt; i = i * 2&lt;BR /&gt;end do&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The idea is to double a stride each iteration with the summation performed by fewer and fewer images.&lt;BR /&gt;&lt;BR /&gt;If you only have 2-8 systems then write it inline without the mod test as this will be clearer to the casual reader of the code.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;/I&gt;</description>
      <pubDate>Mon, 13 Aug 2012 12:42:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769722#M21945</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-08-13T12:42:51Z</dc:date>
    </item>
    <item>
      <title>Summing across coarrays</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769723#M21946</link>
      <description>Even better. Thanks.&lt;DIV&gt;(I guess I was thinking about the prize fighter!)&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;D&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Aug 2012 15:09:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769723#M21946</guid>
      <dc:creator>David_DiLaura</dc:creator>
      <dc:date>2012-08-13T15:09:08Z</dc:date>
    </item>
    <item>
      <title>Summing across coarrays</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769724#M21947</link>
      <description>When your code is working, please report the runtimes (before and after). This may help others decide the value of the efforts to finish up respectibly.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey</description>
      <pubDate>Mon, 13 Aug 2012 22:25:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769724#M21947</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-08-13T22:25:42Z</dc:date>
    </item>
    <item>
      <title>Summing across coarrays</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769725#M21948</link>
      <description>David,&lt;BR /&gt;&lt;BR /&gt;The last untested code is in error. I think the first while test should be .LE. not .LT.&lt;BR /&gt;Sorry about the error. I am slipping (two programming errors this week).&lt;BR /&gt;&lt;BR /&gt;Jim</description>
      <pubDate>Tue, 14 Aug 2012 12:26:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769725#M21948</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-08-14T12:26:23Z</dc:date>
    </item>
    <item>
      <title>(Тема не указана)</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769726#M21949</link>
      <description />
      <pubDate>Fri, 21 Sep 2012 05:36:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Summing-across-coarrays/m-p/769726#M21949</guid>
      <dc:creator />
      <dc:date>2012-09-21T05:36:33Z</dc:date>
    </item>
  </channel>
</rss>

