<?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 How to deal with big fortran programme in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792645#M33455</link>
    <description>You could experiment withmoving the functions and subroutines to seperate files, named with a prefix name of the module name followed by the subroutine name as used within the module. Replace the subroutines and functions with interfaces to the now aliased entry point name using&lt;BR /&gt;&lt;SPAN class="var" style="color: #007783;"&gt;&lt;BR /&gt;c&lt;/SPAN&gt;&lt;SPAN class="kwd" style="color: #007783;"&gt;DEC$ ATTRIBUTES ALIAS&lt;/SPAN&gt;&lt;SPAN class="delim" style="color: #007783;"&gt;: &lt;/SPAN&gt;&lt;SPAN class="var" style="color: #007783;"&gt;external-name&lt;/SPAN&gt;&lt;SPAN class="delim" style="color: #007783;"&gt;:: &lt;/SPAN&gt;&lt;SPAN class="var" style="color: #007783;"&gt;subprogram&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt;to rename the module familial name to the external module prefixed name.&lt;BR /&gt;&lt;BR /&gt;module foo&lt;BR /&gt;...&lt;BR /&gt;contains&lt;BR /&gt;... ! data here&lt;BR /&gt;subroutine bar()&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;---------- becomes ------------&lt;BR /&gt;module foo&lt;BR /&gt;...&lt;BR /&gt;contains&lt;BR /&gt;... ! data here&lt;BR /&gt;! was subroutine bar()&lt;BR /&gt;!DEC$ ATTRIBUES ALIAS: foo_bar:: bar&lt;BR /&gt;interface&lt;BR /&gt;subroutine bar()&lt;BR /&gt;end subroutine bar&lt;BR /&gt;end interface&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;Then create a library project named foo_lib&lt;BR /&gt;holding the foo_bar, foo_tweedledee, ...&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;/SPAN&gt;&lt;/SPAN&gt;</description>
    <pubDate>Mon, 08 Nov 2010 00:29:13 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2010-11-08T00:29:13Z</dc:date>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792643#M33453</link>
      <description>&lt;BR /&gt;Hi, black belts,&lt;BR /&gt;&lt;BR /&gt;If the functions and subroutines in the module are so many and so big, I want to disperse the module into &lt;BR /&gt;&lt;BR /&gt;different files, is it possible ? if yes, How to implement?&lt;BR /&gt;&lt;BR /&gt;by the way, what integrated editor enviroment can display the function and subroutine in module in the list &lt;BR /&gt;&lt;BR /&gt;form like VS displays class member?</description>
      <pubDate>Sun, 07 Nov 2010 03:28:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792643#M33453</guid>
      <dc:creator>ollehyas</dc:creator>
      <dc:date>2010-11-07T03:28:05Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792644#M33454</link>
      <description>If the functions and subroutines are in a module, you cannot separate them at this time. The Fortran 2008 "submodules" feature would allow you to do this, but Intel Fortran does not yet support this.&lt;BR /&gt;&lt;BR /&gt;There is no tool in the editor that will list the functions and subroutines. The next major release, due soon, will have an option to generate a listing file with cross reference, so you could look at that to find procedures.</description>
      <pubDate>Sun, 07 Nov 2010 22:26:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792644#M33454</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-11-07T22:26:21Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792645#M33455</link>
      <description>You could experiment withmoving the functions and subroutines to seperate files, named with a prefix name of the module name followed by the subroutine name as used within the module. Replace the subroutines and functions with interfaces to the now aliased entry point name using&lt;BR /&gt;&lt;SPAN class="var" style="color: #007783;"&gt;&lt;BR /&gt;c&lt;/SPAN&gt;&lt;SPAN class="kwd" style="color: #007783;"&gt;DEC$ ATTRIBUTES ALIAS&lt;/SPAN&gt;&lt;SPAN class="delim" style="color: #007783;"&gt;: &lt;/SPAN&gt;&lt;SPAN class="var" style="color: #007783;"&gt;external-name&lt;/SPAN&gt;&lt;SPAN class="delim" style="color: #007783;"&gt;:: &lt;/SPAN&gt;&lt;SPAN class="var" style="color: #007783;"&gt;subprogram&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt;to rename the module familial name to the external module prefixed name.&lt;BR /&gt;&lt;BR /&gt;module foo&lt;BR /&gt;...&lt;BR /&gt;contains&lt;BR /&gt;... ! data here&lt;BR /&gt;subroutine bar()&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;---------- becomes ------------&lt;BR /&gt;module foo&lt;BR /&gt;...&lt;BR /&gt;contains&lt;BR /&gt;... ! data here&lt;BR /&gt;! was subroutine bar()&lt;BR /&gt;!DEC$ ATTRIBUES ALIAS: foo_bar:: bar&lt;BR /&gt;interface&lt;BR /&gt;subroutine bar()&lt;BR /&gt;end subroutine bar&lt;BR /&gt;end interface&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;Then create a library project named foo_lib&lt;BR /&gt;holding the foo_bar, foo_tweedledee, ...&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;/SPAN&gt;&lt;/SPAN&gt;</description>
      <pubDate>Mon, 08 Nov 2010 00:29:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792645#M33455</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-11-08T00:29:13Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792646#M33456</link>
      <description>I am not a black belt :), but I do have a few suggestions:&lt;BR /&gt;- The simplest is to use the INCLUDE statement (or what is the proper term?) to split the&lt;BR /&gt; source file into smaller ones.The module could then look like:&lt;BR /&gt; module mymodule&lt;BR /&gt; ... derivedtypes and whatever&lt;BR /&gt; contains&lt;BR /&gt; include "source1.f90"&lt;BR /&gt;include "source2.f90"&lt;BR /&gt; ...&lt;BR /&gt; endmodule&lt;BR /&gt;&lt;BR /&gt;- Another solution is to split the module into smaller modules. Common derived types&lt;BR /&gt;can be put into a module of their own. To create a single overall module that contains&lt;BR /&gt; everything andcan be used as the original one:&lt;BR /&gt;&lt;BR /&gt;module mymodule&lt;BR /&gt;use mydatamodule&lt;BR /&gt; use mysubmodule1&lt;BR /&gt; use mysubmodule2&lt;BR /&gt; ...&lt;BR /&gt;end module&lt;BR /&gt;&lt;BR /&gt;The advantage of the second method is that each source file contains a proper module and&lt;BR /&gt;therefore contains eveything you need to know.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Arjen</description>
      <pubDate>Mon, 08 Nov 2010 07:59:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792646#M33456</guid>
      <dc:creator>Arjen_Markus</dc:creator>
      <dc:date>2010-11-08T07:59:02Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792647#M33457</link>
      <description>&lt;DIV id="tiny_quote"&gt;
                
                &lt;DIV style="background-color: #e5e5e5; padding: 5px; border: 1px inset; margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=342168" class="basic" href="https://community.intel.com/en-us/profile/342168/"&gt;arjenmarkus&lt;/A&gt;&lt;I&gt;&lt;BR /&gt;&lt;BR /&gt;The advantage of the second method is that each source file contains a proper module and&lt;BR /&gt;therefore contains eveything you need to know.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...and the additional disadvantage of the first method is that it's likely to confuse the debugger and/or dependency analysis.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2010 09:16:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792647#M33457</guid>
      <dc:creator>Jugoslav_Dujic</dc:creator>
      <dc:date>2010-11-08T09:16:39Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792648#M33458</link>
      <description>Arjen,&lt;BR /&gt;&lt;BR /&gt;I do not believe the original problem was a request to reduce the size of an editable file. Your suggestion resolves this issue.&lt;BR /&gt;&lt;BR /&gt;If the requirement were to reduce the compile time, considering IPO and potentially 1000's of functions/subroutines, then separation into a library, defined and accessible via a module will resolve this issue.&lt;BR /&gt;&lt;BR /&gt;The original poster will have to determine which route is best for them.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Mon, 08 Nov 2010 13:58:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792648#M33458</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-11-08T13:58:26Z</dc:date>
    </item>
    <item>
      <title>How to deal with big fortran programme</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792649#M33459</link>
      <description>If the file indeed contains so many subprograms, then it is bound to be a piling up of all manner of things.&lt;BR /&gt;Putting related functions and subroutines in different files, grouping the code should make it all more manageable. &lt;BR /&gt;&lt;BR /&gt;If all these subprograms are interconnected in asuch a way they can not be disentangled, then the OP&lt;BR /&gt;is in serious trouble, I'd say.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Arjen&lt;BR /&gt;</description>
      <pubDate>Mon, 08 Nov 2010 14:38:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/How-to-deal-with-big-fortran-programme/m-p/792649#M33459</guid>
      <dc:creator>Arjen_Markus</dc:creator>
      <dc:date>2010-11-08T14:38:18Z</dc:date>
    </item>
  </channel>
</rss>

