<?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 Fortran 2008 defines in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923123#M85946</link>
    <description>&lt;P&gt;Fortran 2008 defines submodules&amp;nbsp; This has been mentioned several times on these forums.&amp;nbsp; Apparently, only Cray Fortran supports this.&lt;/P&gt;</description>
    <pubDate>Tue, 18 Jun 2013 15:52:22 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2013-06-18T15:52:22Z</dc:date>
    <item>
      <title>Maximum number of DO and IF loops</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923104#M85927</link>
      <description>&lt;P&gt;Using the Intel Fortran compiler on Windows the maximum number of DO and IF loops is set to 256. Is it possible to increase this limit?&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 05:07:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923104#M85927</guid>
      <dc:creator>tkibedi</dc:creator>
      <dc:date>2013-06-17T05:07:42Z</dc:date>
    </item>
    <item>
      <title>Just to clarify: You want to</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923105#M85928</link>
      <description>&lt;P&gt;Just to clarify: You want to know if it is possible to use more than 256 do / if statements like&lt;/P&gt;
&lt;P&gt;[fortran]&lt;BR /&gt;do i1=1,n1&lt;BR /&gt;&amp;nbsp; if(i1==1) then&lt;BR /&gt;&amp;nbsp; &amp;nbsp; do i3=1,n2&lt;BR /&gt;...&lt;BR /&gt;&amp;nbsp; &amp;nbsp; do i256=1,n256&lt;BR /&gt;! no more if / do here possible&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end do&lt;BR /&gt;! ...&lt;BR /&gt;&amp;nbsp; end if&lt;BR /&gt;end do&lt;BR /&gt;[/fortran]&lt;/P&gt;
&lt;P&gt;I´d rather simplify the code.&lt;/P&gt;
&lt;P&gt;Markus&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 05:59:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923105#M85928</guid>
      <dc:creator>onkelhotte</dc:creator>
      <dc:date>2013-06-17T05:59:40Z</dc:date>
    </item>
    <item>
      <title>Where did you see this</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923106#M85929</link>
      <description>&lt;P&gt;Where did you see this limitation? i.e. is this documented or do you have a reproducer? Is this for nested levels or inline use or both?&lt;/P&gt;
&lt;P&gt;If you have a simple reproducer, please attach to your reply.&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 11:26:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923106#M85929</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-17T11:26:30Z</dc:date>
    </item>
    <item>
      <title>I noted compiling a program</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923107#M85930</link>
      <description>&lt;P&gt;&lt;/P&gt;
&lt;P&gt;I noted compiling a program developed on Linux. This limitation is declared in the &lt;!--&lt;xml&gt;--&gt;&lt;/P&gt;
&lt;P&gt;Intel® Fortran Compiler XE 13.1 User and Reference Guides/ Compiler Limits:&lt;/P&gt;
&lt;P&gt;"DO and block IF statement nesting (combined) 256"&lt;/P&gt;
&lt;P&gt;I am hoping that this limit can be overwritten&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;!--&lt;MSHelp:Attr Name="DocSet" Value="Intel" /&gt;--&gt;&lt;!--&lt;MSHelp:Attr Name="Locale" Value="kbEnglish" /&gt;--&gt;&lt;!--&lt;MSHelp:Keyword Index="F" Term="bldaps_complrlim" /&gt;--&gt;&lt;!--&lt;MSHelp:Keyword Index="F" Term="intel.for.bldaps_complrlim" /&gt;--&gt;&lt;!--&lt;MSHelp:Attr Name="TopicType" Value="kbReference" /&gt;--&gt;&lt;!--&lt;/xml&gt;--&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 11:34:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923107#M85930</guid>
      <dc:creator>tkibedi</dc:creator>
      <dc:date>2013-06-17T11:34:14Z</dc:date>
    </item>
    <item>
      <title>Ok, I see it there now.</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923108#M85931</link>
      <description>&lt;P&gt;Ok, I see it there now.&lt;/P&gt;
&lt;P&gt;Note though that this is for nested DO and IF blocks (combined). I've never seen a program requiring that high of nest level.&lt;/P&gt;
&lt;P&gt;Array dimensions limit is 31, nest restrictions won't apply to this.&lt;/P&gt;
&lt;P&gt;What you can do in this case is encapsulate and call the encapsulation at every 250 levels, or at an appropriate level to reduce arguments on call.&lt;/P&gt;
&lt;P&gt;DO I1=1,n&lt;BR /&gt;DO I2=1,n&lt;BR /&gt;...&lt;BR /&gt;DO I250=1,n&lt;BR /&gt;call DOI2512to500(yourArgsHere)&lt;BR /&gt;END DO ! I250&lt;BR /&gt;END DO ! I249&lt;BR /&gt;...&lt;BR /&gt;END DO ! I2&lt;BR /&gt;END DO ! I1&lt;/P&gt;
&lt;P&gt;A module can be used if you have a large number of variables to pass all the way down.&lt;/P&gt;
&lt;P&gt;Out of curiosity, can you describe the program that exceeds this limitation?&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 11:49:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923108#M85931</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-17T11:49:00Z</dc:date>
    </item>
    <item>
      <title>As others have said, this is</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923109#M85932</link>
      <description>&lt;P&gt;As others have said, this is a limit on how many nested DO or IF blocks you can have. I have never seen a real program come even close to this limit.&amp;nbsp; It is not a limit on the total number of DO or IF blocks you can have, nor a limit on the DO loop index.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 13:16:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923109#M85932</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-17T13:16:46Z</dc:date>
    </item>
    <item>
      <title>It is possible with large</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923110#M85933</link>
      <description>&lt;P&gt;It is possible with large source files to see optimization cut off without warning for some DO loops which would not normally require !dir$ SIMD.&amp;nbsp; If this is a concern, you may need /Qopt-report or /Qvec-report.&amp;nbsp; The bug with /Qopt-report not working along with other options such as /arch: is present in the 2013 update 3 and 4 releases, but vec-report should be OK.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 14:22:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923110#M85933</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-06-17T14:22:23Z</dc:date>
    </item>
    <item>
      <title>I try to compile the atomic</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923111#M85934</link>
      <description>&lt;P&gt;I try to compile the atomic physics code, Grasp2K on Windows, when I noted the problem. The code was originally developed on Linux and using the Intel compiler no problem was noted.&lt;/P&gt;
&lt;P&gt;I tried the /Qvec-repor1 compiler option as TimP suggested and the following error was reported:&lt;/P&gt;
&lt;P&gt;"error #6370: The IF, DO, CASE, FORALL (if supported), and/or WHERE constructs are nested too deeply. The current limit is 256."&lt;/P&gt;
&lt;P&gt;It is not practical to modify the code and I am wondering, if this limit can be increased. Looking the actual code a limit of ~350 should work.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 17:20:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923111#M85934</guid>
      <dc:creator>tkibedi</dc:creator>
      <dc:date>2013-06-17T17:20:47Z</dc:date>
    </item>
    <item>
      <title>If this code can be compiled</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923112#M85935</link>
      <description>&lt;P&gt;If this code can be compiled at all, then I would guess that the error message is incorrect. Is this code something I can download freely, or can you attach the problem file here?&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 17:40:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923112#M85935</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-17T17:40:11Z</dc:date>
    </item>
    <item>
      <title>Steve</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923113#M85936</link>
      <description>&lt;P&gt;Steve&lt;/P&gt;
&lt;P&gt;The code was published in Computer Physics Communication and it not supposed to be upload into the public domain. However I would apreciate if the problem can be further investigated.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Tibor&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 18:05:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923113#M85936</guid>
      <dc:creator>tkibedi</dc:creator>
      <dc:date>2013-06-17T18:05:00Z</dc:date>
    </item>
    <item>
      <title>I can't do anything without</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923114#M85937</link>
      <description>&lt;P&gt;I can't do anything without source. Please submit an issue to Intel Premier Support and attach the code - ask that it be assigned to me.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 18:48:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923114#M85937</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-17T18:48:17Z</dc:date>
    </item>
    <item>
      <title>Ok, this source really does</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923115#M85938</link>
      <description>&lt;P&gt;Ok, this source really does have more than 256 nested IF and DO constructs. 317 by my count. It is obviously a machine-generated source and I have to wonder if the creators really understand what it is doing. That said, it does not compile in any version of Intel Fortran to date. I have filed a feature request asking that the limit be raised, but I can't say when or if it will be implemented.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 19:51:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923115#M85938</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-17T19:51:31Z</dc:date>
    </item>
    <item>
      <title>Can the code be encapsulate</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923116#M85939</link>
      <description>&lt;P&gt;Can the code be encapsulate into a subroutine at say level 200 or so? The local variables could be placed into a module.&lt;/P&gt;
&lt;P&gt;Or (Steve help), use of a procedure contained subroutine may get a new set of 256 levels.&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 22:54:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923116#M85939</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-17T22:54:25Z</dc:date>
    </item>
    <item>
      <title>I think moving some of the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923117#M85940</link>
      <description>&lt;P&gt;I think moving some of the blocks into a contained routine might actually work - let me try that.&amp;nbsp; There are hundreds of mechanically-named variables as well....&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2013 22:59:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923117#M85940</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-17T22:59:38Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;There are hundreds of</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923118#M85941</link>
      <description>&lt;P&gt;&amp;gt;&amp;gt;There are hundreds of mechanically-named variables as well....&lt;/P&gt;
&lt;P&gt;maniacally named....&lt;/P&gt;
&lt;P&gt;Hope the contained routine works... 4 statements and a cut&amp;amp;paste to fix (plus the time necessary to find the matching ENDDO).&lt;BR /&gt;The module route might take 7 statements and a cut&amp;amp;paste to fix (plus the time necessary to find the matching ENDDO).&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 02:55:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923118#M85941</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-18T02:55:50Z</dc:date>
    </item>
    <item>
      <title>Indeed, moving a chunk of the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923119#M85942</link>
      <description>&lt;P&gt;Indeed, moving a chunk of the nested DO/IF to a contained routine that is then called allows the source to compile. I have sent Tibor the edited source.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 13:26:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923119#M85942</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-18T13:26:23Z</dc:date>
    </item>
    <item>
      <title>Assuming the .f90/.f source</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923120#M85943</link>
      <description>&lt;P&gt;Assuming the .f90/.f source is auto-generated, this conversion may be something he could automate using AWK, Perl or other scripting language (VB, ...).&lt;/P&gt;
&lt;P&gt;Would there be an issue of having a contained routine, itself having a contained routine? (e.g. the program had 700 nest levels)&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 14:16:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923120#M85943</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-18T14:16:14Z</dc:date>
    </item>
    <item>
      <title>Jim, </title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923121#M85944</link>
      <description>&lt;P&gt;Jim,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Given the restriction "Any number of internal procedures can follow a CONTAINS statement, but a CONTAINS statement cannot appear in the internal procedures themselves", I think that CONTAINS can only be nested 1-deep.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 14:56:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923121#M85944</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-06-18T14:56:14Z</dc:date>
    </item>
    <item>
      <title>You would not need to nest</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923122#M85945</link>
      <description>&lt;P&gt;You would not need to nest the CONTAINs in this particular case, you could have a second contained routine called from the first.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 15:50:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923122#M85945</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2013-06-18T15:50:33Z</dc:date>
    </item>
    <item>
      <title>Fortran 2008 defines</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923123#M85946</link>
      <description>&lt;P&gt;Fortran 2008 defines submodules&amp;nbsp; This has been mentioned several times on these forums.&amp;nbsp; Apparently, only Cray Fortran supports this.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2013 15:52:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Maximum-number-of-DO-and-IF-loops/m-p/923123#M85946</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-06-18T15:52:22Z</dc:date>
    </item>
  </channel>
</rss>

