<?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 Intel Fortran Compiler 11.1 and OpenMPI 1.4 bug - Inconsistent Output in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Fortran-Compiler-11-1-and-OpenMPI-1-4-bug-Inconsistent/m-p/750149#M6830</link>
    <description>Hi everyone,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm going nuts with my code, because what is happening is beyond my comprehension. When I compile my code with -g option, or -check all, or -check bounds flag, the code runs perfectly fine, though, as you can guess, very slow.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Whenever I use any optimization flag, the code fails to run, gives random segmentation faults. More importantly, the code has something of this sort:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;x(1)=...&lt;/DIV&gt;&lt;DIV&gt;x(2)=...&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;x(64)=...&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;When I add WRITE(6,*) x(1) at the end, it gives me a number totally different from what I set it to. (gives me zero) x is an allocatable array which is properly allocated to be of size 64.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Here are some technical details:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I do not have Intel C/C++ compiler and therefore OpenMPI was compiled with gcc, g++ and ifort combined, with no special flags. If I use gfortran, the code runs with no problems, regardless of the optimization level.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I also tried to use MPICH2 and still the problem persists. It's not specific to OpenMPI. There is a compiler bug in Intel Compiler, or, there is an incompatibility between GCC 4.2 and ifort.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Do you think that the problem would disappear if I use Intel MPI? What do you think is the root of the problem?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 01 Nov 2010 23:02:15 GMT</pubDate>
    <dc:creator>oacikgoz</dc:creator>
    <dc:date>2010-11-01T23:02:15Z</dc:date>
    <item>
      <title>Intel Fortran Compiler 11.1 and OpenMPI 1.4 bug - Inconsistent Output</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Fortran-Compiler-11-1-and-OpenMPI-1-4-bug-Inconsistent/m-p/750149#M6830</link>
      <description>Hi everyone,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'm going nuts with my code, because what is happening is beyond my comprehension. When I compile my code with -g option, or -check all, or -check bounds flag, the code runs perfectly fine, though, as you can guess, very slow.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Whenever I use any optimization flag, the code fails to run, gives random segmentation faults. More importantly, the code has something of this sort:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;x(1)=...&lt;/DIV&gt;&lt;DIV&gt;x(2)=...&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;.&lt;/DIV&gt;&lt;DIV&gt;x(64)=...&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;When I add WRITE(6,*) x(1) at the end, it gives me a number totally different from what I set it to. (gives me zero) x is an allocatable array which is properly allocated to be of size 64.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Here are some technical details:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I do not have Intel C/C++ compiler and therefore OpenMPI was compiled with gcc, g++ and ifort combined, with no special flags. If I use gfortran, the code runs with no problems, regardless of the optimization level.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I also tried to use MPICH2 and still the problem persists. It's not specific to OpenMPI. There is a compiler bug in Intel Compiler, or, there is an incompatibility between GCC 4.2 and ifort.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Do you think that the problem would disappear if I use Intel MPI? What do you think is the root of the problem?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 01 Nov 2010 23:02:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Fortran-Compiler-11-1-and-OpenMPI-1-4-bug-Inconsistent/m-p/750149#M6830</guid>
      <dc:creator>oacikgoz</dc:creator>
      <dc:date>2010-11-01T23:02:15Z</dc:date>
    </item>
    <item>
      <title>Intel Fortran Compiler 11.1 and OpenMPI 1.4 bug - Inconsistent</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Fortran-Compiler-11-1-and-OpenMPI-1-4-bug-Inconsistent/m-p/750150#M6831</link>
      <description>If you want to refer the question to the Intel MPI team, the HPC forum would be more suitable.&lt;BR /&gt;I have worked using ifort with both OpenMPI and Intel MPI, and don't recognize such a problem. write(6,*) isn't ideal, as it depends on undisturbed pre-assignment of unit 6, and it's possible for accidents like array over-runs to produce a result such as you report. I would use write(*,*) or write to a specific file. But all that doesn't seem directly related to your problem.&lt;BR /&gt;Array over-runs, or, more often, problems due to lack of data initialization, may be exposed with optimization turned on, and might be suppressed by -check even with the optimization level set. Sometimes, problems with uninitialized data and optimization respond to -zero -save (if you don't use threading together with MPI), in case that may help locate it. I would agree that when you first try -check, you would likely set -g and allow optimization to drop off.</description>
      <pubDate>Mon, 01 Nov 2010 23:40:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Fortran-Compiler-11-1-and-OpenMPI-1-4-bug-Inconsistent/m-p/750150#M6831</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2010-11-01T23:40:56Z</dc:date>
    </item>
  </channel>
</rss>

