<?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 ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749604#M6450</link>
    <description>Hi Folks,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I am getting incorrect numbers when using more than 1 OpenMP thread with ifort 11.1/089&lt;/DIV&gt;&lt;DIV&gt;and a Fortran90 code. I am running OS X 10.6.4 and Xcode 3.2.3 is installed. I mention&lt;/DIV&gt;&lt;DIV&gt;the latter since I saw the sticky about Xcode, but as I have 11.1/089 I assume that issue&lt;/DIV&gt;&lt;DIV&gt;is not mine.  I am also using FFTW which I built with the same compiler and the --enable-openmp&lt;/DIV&gt;&lt;DIV&gt;option was used to ensure compatibility with OpenMP.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;For completeness, my Mac OS details are:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;Darwin boussinesq.math.umass.edu 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I was able to&lt;SPAN style="font-size: 10.8333px;"&gt;cure the issue initially by reducing the optimization all the way down to -O1, but after some&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;code modifications (which I need to have) it has come back.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 10.8333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 10.8333px;"&gt;In order to ensure that the code is correct I ported it to a Linux machine:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Linux cooper.math.lsa.umich.edu 2.6.18-164.11.1.el5 #1 SMP Wed Jan 6 13:26:04 EST 2010 x86_64 x86_64 x86_64 GNU/Linux&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The ifort compiler version on this machine is 11.1/056 and all runs fine on this machine! Unfortunately, I do not have constant access to this machine, as my Mac Pro is my main production machine.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'd be happy to supply further info or the code itself and compile files in a tar file.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks,  Hans Johnston&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Wed, 29 Sep 2010 01:14:50 GMT</pubDate>
    <dc:creator>Hans_J_</dc:creator>
    <dc:date>2010-09-29T01:14:50Z</dc:date>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749604#M6450</link>
      <description>Hi Folks,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I am getting incorrect numbers when using more than 1 OpenMP thread with ifort 11.1/089&lt;/DIV&gt;&lt;DIV&gt;and a Fortran90 code. I am running OS X 10.6.4 and Xcode 3.2.3 is installed. I mention&lt;/DIV&gt;&lt;DIV&gt;the latter since I saw the sticky about Xcode, but as I have 11.1/089 I assume that issue&lt;/DIV&gt;&lt;DIV&gt;is not mine.  I am also using FFTW which I built with the same compiler and the --enable-openmp&lt;/DIV&gt;&lt;DIV&gt;option was used to ensure compatibility with OpenMP.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;For completeness, my Mac OS details are:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;Darwin boussinesq.math.umass.edu 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I was able to&lt;SPAN style="font-size: 10.8333px;"&gt;cure the issue initially by reducing the optimization all the way down to -O1, but after some&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;code modifications (which I need to have) it has come back.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 10.8333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 10.8333px;"&gt;In order to ensure that the code is correct I ported it to a Linux machine:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Linux cooper.math.lsa.umich.edu 2.6.18-164.11.1.el5 #1 SMP Wed Jan 6 13:26:04 EST 2010 x86_64 x86_64 x86_64 GNU/Linux&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The ifort compiler version on this machine is 11.1/056 and all runs fine on this machine! Unfortunately, I do not have constant access to this machine, as my Mac Pro is my main production machine.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I'd be happy to supply further info or the code itself and compile files in a tar file.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks,  Hans Johnston&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Sep 2010 01:14:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749604#M6450</guid>
      <dc:creator>Hans_J_</dc:creator>
      <dc:date>2010-09-29T01:14:50Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749605#M6451</link>
      <description>Given the large size of the source code, it would help if you can rule out bugs such as array overruns and uninitialized variables being used.</description>
      <pubDate>Wed, 29 Sep 2010 14:22:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749605#M6451</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2010-09-29T14:22:55Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749606#M6452</link>
      <description>I used the -C option previously to do so, and I'm quite sure that it is not an issue of uninitialized variables.&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Is there a compiler flag to check for the latter, i.e., uninitialized variables?  This could only happen in&lt;/DIV&gt;&lt;DIV&gt;a linear solver subroutine I'm using but did not write.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I did find this morning that if I do not specifying ANY optimization OR use -O2 then it runs! &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;However, with -O1 only it DOES NOT run properly.  This makes no sense to me.&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Sep 2010 14:39:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749606#M6452</guid>
      <dc:creator>Hans_J_</dc:creator>
      <dc:date>2010-09-29T14:39:43Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749607#M6453</link>
      <description>UPDATE:&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;-CB and -CU do not produce any errors/warnings&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Sep 2010 15:04:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749607#M6453</guid>
      <dc:creator>Hans_J_</dc:creator>
      <dc:date>2010-09-29T15:04:11Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749608#M6454</link>
      <description>When program runs with -CB and -CU with optimizations do wrong numbers result?&lt;BR /&gt;&lt;BR /&gt;Jim</description>
      <pubDate>Wed, 29 Sep 2010 20:41:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749608#M6454</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-09-29T20:41:15Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749609#M6455</link>
      <description>Have you verified that the OpenMP code is correct?&lt;BR /&gt;Meaning no race conditions or improper use of shared/private/atomic.&lt;BR /&gt;&lt;BR /&gt;If the number of !$OMP PARALLEL... regions is small, try inserting !$OMP CRITICAL, !$OMP END CRITICAL around the thebody of the parallel region. If that corrects the error, then start moving the ends of the critical section(s) towards the middle. Something may show up. Note, the error need not be inside the reducing critical section since critical section inserts barrier for remaining threads and will alter the execution sequence/phasing by thread for code following the critical section.&lt;BR /&gt;&lt;BR /&gt;Jim&lt;BR /&gt;</description>
      <pubDate>Wed, 29 Sep 2010 20:51:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749609#M6455</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-09-29T20:51:56Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749610#M6456</link>
      <description>Hi Jim,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks for the reply.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;When compiling with:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;ifort -CB -CU -O2 -parallel -openmp -openmp-report2 -assume byterecl -convert big_endian Inf_Pr_2D_AB3CN.f90 MY_D02UEF_D02UEFN.o -L/usr/local/lib -lfftw3 -lfftw3_threads -L/opt/intel/Compiler/11.1/089/Frameworks/mkl/lib -I/opt/intel/Compiler/11.1/089/Frameworks/mkl/include -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -liomp5 -lpthread&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Everything runs fine, with or without the -CB and -CU. BTW, the object file above is compiled as:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;ifort -CB -CU -O2 -c -r8  FOMY_D02UEF_D02UEFN.f90 -o MY_D02UEF_D02UEFN.o -L/usr/local/lib -lfftw3 -lfftw3_threads -L/opt/intel/Compiler/11.1/089/Frameworks/mkl/lib -I/opt/intel/Compiler/11.1/089/Frameworks/mkl/include -lmkl_intel_lp64 -lmkl_seqential -lmkl_core -liomp5 -lpthread&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Replacing -O2 with -O1 in both compiles again results in garbage, with or without the -CU and -CB.  This is whatI find puzzling. &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;There are only 2 OpenMP loops in the code, both similar, and here is one of them:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;! set BCs vars for temperature eqn solve&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;    bcx_2(1) = 1.0D+0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;bcx_2(2) = -1.0D+0&lt;/DIV&gt;&lt;DIV&gt;    bcar_2(1:2,1:3) = 0.0D+0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;bcar_2(1,1) = 1.0D+0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;bcar_2(2,1) = 1.0D+0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;order = 2&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;! solve temperature equation for each Fourier mode i&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;!$OMP PARALLEL DO DEFAULT(PRIVATE)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;SHARED(nx,tembc,fm2,dt,nz,order,mat1,bcar_2,bcx_2,tem,temz,tem_lap,invscale)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    do i = 0,nx-1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     bcval_2(1) = tembc(i,1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     bcval_2(2) = tembc(i,2)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     pdecoeff_2(1) = -dt*invscale/2.0D+0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     pdecoeff_2(2) = 0.0D+0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     pdecoeff_2(3) = 1.0D+0-fm2(i)*dt*invscale/2.0D+0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     ifail = 0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     res = 0.0D+0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     sol_2 = 0.0D+0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     rhs_2(0:nz) = mat1(i,0:nz)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     call MY_D02UEF(nz,order,rhs_2,              &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;             bcar_2,bcx_2,bcval_2,  &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;             pdecoeff_2,sol_2,res,ifail)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     tem(i,0:nz) = sol_2(0:nz,1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     temz(i,0:nz) = sol_2(0:nz,2)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     tem_lap(i,0:nz) = sol_2(0:nz,3)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; 	   end do&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!$OMP END PARALLEL DO&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The routine MY_D02UEF is solving a discretized boundary value problem. It does call LAPACK (in MKL)&lt;/DIV&gt;&lt;DIV&gt;which is why I use the mkl_sequential library. In fact, this is not truly needed, for the ifort docs&lt;/DIV&gt;&lt;DIV&gt;explain that if one is in a parallel region only sequential libraries will be used.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;As I noted in my original post, EVERYTHING RUNS FINE on a Linux machine using ifort. I can&lt;/DIV&gt;&lt;DIV&gt;only conclude that there is an issue with the OS X compiler.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;What do you think?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks again, Hans&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;BTW - same results with or without the -parallel option&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 30 Sep 2010 16:40:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749610#M6456</guid>
      <dc:creator>Hans_J_</dc:creator>
      <dc:date>2010-09-30T16:40:34Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749611#M6457</link>
      <description>I do not see anything that jumps out at me saying "bug here"&lt;BR /&gt;&lt;BR /&gt;Are any of your DEFAULT(PRIVATE) variables/arrays also SAVE?&lt;BR /&gt;Are any of your SHARED(...) used as if private by MU_D02UEF(...)?&lt;BR /&gt;&lt;BR /&gt;if nothing shows up try the following&lt;BR /&gt;&lt;BR /&gt;!$OMP CRITICAL&lt;BR /&gt;&lt;DIV id="_mcePaste"&gt;     tem(i,0:nz) = sol_2(0:nz,1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     temz(i,0:nz) = sol_2(0:nz,2)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;     tem_lap(i,0:nz) = sol_2(0:nz,3)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!$OMP END CRITICAL&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt;The code, as you have written, is without error. However, the compiler, should it have a bug, and I am not saying it has a bug, may be merging the data in the output arrays in a non-thread safe manner due to a stride issue.&lt;BR /&gt;&lt;BR /&gt;The critical section, if it cures the problem, will indicate a compiler issue.&lt;BR /&gt;&lt;BR /&gt;The other culpret could be your other loop.&lt;BR /&gt;&lt;BR /&gt;BTW&lt;BR /&gt;&lt;BR /&gt;You are (are you) aware that the calller to MY_D02UEF knows sol_2 is a 0-based array. Lack of proper declaration of this dummy arg in MY_D02UEF may require using 1-based indexing of this arg. (sameissue with rhs_2)&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;/DIV&gt;</description>
      <pubDate>Thu, 30 Sep 2010 19:06:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749611#M6457</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-09-30T19:06:53Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749612#M6458</link>
      <description>Hi Jim,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The OMP CRITICAL statements completely solved the problem! Many thanks.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;So in your opinion, does this indicate a compiler bug (I would think it does) and&lt;/DIV&gt;&lt;DIV&gt;how would I go about letting the Intel folks.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks, Hans&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 30 Sep 2010 21:42:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749612#M6458</guid>
      <dc:creator>Hans_J_</dc:creator>
      <dc:date>2010-09-30T21:42:01Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749613#M6459</link>
      <description>You file this on primere.intel.com. In my opinion this is a bug. The stores to separate cells in the array by separate threads should not interfere with each other. My guess is the sse code generated is not multi-thread safe (performing a read, merge, write, or performing streaming stores when it should not be).&lt;BR /&gt;&lt;BR /&gt;Steve, have you read Hans's post and my work around.&lt;BR /&gt;&lt;BR /&gt;It looks like there is a bug in the sse code regarding OpenMP and storing in arrays with stride .ne. 1.&lt;BR /&gt;Data is stored ok as long as there is no concurrency.&lt;BR /&gt;&lt;BR /&gt;Hans, can you attach the errant file (the one you inserted the !$OMP CRITICAL).&lt;BR /&gt;&lt;BR /&gt;This was a lucky guess on my part. I haven't seen this error before.&lt;BR /&gt;&lt;BR /&gt;"...when you have eliminated the impossible, whatever remains, however improbable, must be the truth?"&lt;BR /&gt;&lt;BR /&gt;Holmes to Watson&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey</description>
      <pubDate>Fri, 01 Oct 2010 04:21:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749613#M6459</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-10-01T04:21:17Z</dc:date>
    </item>
    <item>
      <title>ifort 11.1/089 OpenMP problem - OS X 10.6.4 - wrong numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749614#M6460</link>
      <description>Jim, this is not my area of expertise. I agree with the suggestion to file a report at Intel Premier Support.</description>
      <pubDate>Fri, 01 Oct 2010 15:48:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ifort-11-1-089-OpenMP-problem-OS-X-10-6-4-wrong-numbers/m-p/749614#M6460</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-10-01T15:48:26Z</dc:date>
    </item>
  </channel>
</rss>

