<?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: Optimizing applications in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765895#M20079</link>
    <description>I don't find this too surprising - the presence of the contained routine means that the arrays V and A are potentially up-level referenced, which can inhibit some optimizations. By the time the compiler realizes that dummy isn't called, it may be too late to undo the damage.&lt;BR /&gt;&lt;BR /&gt;I do know that the next version of the compiler runs some optimization phases in a different order which may help this.  I will comment that you should also use /O3.</description>
    <pubDate>Mon, 20 Feb 2006 22:34:16 GMT</pubDate>
    <dc:creator>Steven_L_Intel1</dc:creator>
    <dc:date>2006-02-20T22:34:16Z</dc:date>
    <item>
      <title>Optimizing applications</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765894#M20078</link>
      <description>At times, I find the behaviour of the optimizer quite unpredictable. &lt;BR /&gt;&lt;BR /&gt;As an example, I attempted to clean up a subprogram by moving part of its code to a subrogram contained in a CONTAINS structure.&lt;BR /&gt;&lt;BR /&gt;Strangely, just including&lt;BR /&gt;&lt;BR /&gt;CONTAINS  SUBROUTINE xyz()&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;END SUBROUTINE&lt;BR /&gt;&lt;BR /&gt;without actually calling the contained routine or changing the original in any way led to a substantial increase (50%) in the execution time.&lt;BR /&gt;&lt;BR /&gt;The example is included. It is selfcontained and prints out execution times. Compilation with -QxW.  Comment out the CONTAINS &lt;BR /&gt;part in the bottom of the program and note the change.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Michael</description>
      <pubDate>Mon, 20 Feb 2006 21:56:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765894#M20078</guid>
      <dc:creator>kt_mic</dc:creator>
      <dc:date>2006-02-20T21:56:31Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing applications</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765895#M20079</link>
      <description>I don't find this too surprising - the presence of the contained routine means that the arrays V and A are potentially up-level referenced, which can inhibit some optimizations. By the time the compiler realizes that dummy isn't called, it may be too late to undo the damage.&lt;BR /&gt;&lt;BR /&gt;I do know that the next version of the compiler runs some optimization phases in a different order which may help this.  I will comment that you should also use /O3.</description>
      <pubDate>Mon, 20 Feb 2006 22:34:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765895#M20079</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2006-02-20T22:34:16Z</dc:date>
    </item>
    <item>
      <title>Re: Optimizing applications</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765896#M20080</link>
      <description>Very helpful, thank you. I provided the CONTAINS part with dummy arguments and could now move the code without any performance loss.&lt;BR /&gt;-O3 did not help, though, rather the opposite.&lt;BR /&gt;&lt;BR /&gt;Michael</description>
      <pubDate>Mon, 20 Feb 2006 23:08:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Optimizing-applications/m-p/765896#M20080</guid>
      <dc:creator>kt_mic</dc:creator>
      <dc:date>2006-02-20T23:08:12Z</dc:date>
    </item>
  </channel>
</rss>

