<?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 Bug in ifort - openMp in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753116#M8939</link>
    <description>Can you tell me which limits(and how to change it)? Witch limits are related witch "-openmp" compiler option? (becouse every thing (every limits) is ok when I don use "-openmp" option when I compile program)&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I can't upgrade ifort - becouse im only user of cluster - no administrator :/&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I need some workaround...&lt;/DIV&gt;</description>
    <pubDate>Sun, 27 Feb 2011 08:57:03 GMT</pubDate>
    <dc:creator>Kamil_Kie</dc:creator>
    <dc:date>2011-02-27T08:57:03Z</dc:date>
    <item>
      <title>Bug in ifort - openMp</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753113#M8936</link>
      <description>&lt;DIV id="_mcePaste"&gt;&lt;B&gt;! -------------------------------- Module --------------------------------&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;module mod&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type render_config&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;real :: e(400)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;integer xpix&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;integer ypix&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;integer :: iso_num &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end type render_config&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type render_data&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_config), pointer :: rc&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;real, pointer :: isv(:)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;real, pointer :: rays(:,:,:)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;integer, pointer :: img(:,:)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end type render_data&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;contains &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;subroutine render_pixels(rd)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_data) :: rd&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;integer :: i,a&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;a=5&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;!$OMP PARALLEL SHARED(rd) PRIVATE(a)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;!$OMP DO SCHEDULE(DYNAMIC,1)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;do i=1,30&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;write (*,*) "i=",i&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end do&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;!$OMP END DO NOWAIT&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;!$OMP END PARALLEL&lt;/B&gt;&lt;B&gt; &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end subroutine render_pixels&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;subroutine init_rd(rd,rc)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_config), target :: rc &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_data) :: rd &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;rd%rc=&amp;gt;rc&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(.not.associated(rd%rays)) allocate( rd%rays(3,rd%rc%xpix, rd%rc%ypix ))&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(.not.associated(rd%img)) allocate( rd%img(rd%rc%xpix, rd%rc%ypix ))&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(.not.associated(rd%isv)) allocate( rd%isv(rd%rc%iso_num))&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end subroutine init_rd&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;subroutine clear_rd(rd)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_data) :: rd&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(associated(rd%rays)) deallocate( rd%rays)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(associated(rd%img)) deallocate( rd%img) &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;if(associated(rd%isv)) deallocate( rd%isv)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end subroutine clear_rd &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end module mod&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;! -------------------------------- Program --------------------------------&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;program fraytracer&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;use mod&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_data) rd&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;type(render_config),target :: rc&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;rc%xpix=12&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;rc%ypix=12&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;rc%iso_num=20&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;call init_rd(rd,rc) &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;call render_pixels(rd) &lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;write (*,*) "- S1 -"&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;call clear_rd(rd)&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;write (*,*) "--- E1 ---"&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;write (*,*) "--- E2---"&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;write (*,*) "--- E3 ---"&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&lt;B&gt;end program fraytracer&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV id="_mcePaste"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;
	&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;DIV&gt;---------------------------------- ------------------------------------------------------------------- ---------------------------------&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Write above code to file bug.f90 and compile it by:&lt;/DIV&gt;

&lt;DIV&gt;
	&lt;DIV&gt;&lt;B&gt;ifort -openmp -real_size 64 -c bug.f90&lt;/B&gt;&lt;/DIV&gt;

	&lt;DIV&gt;&lt;B&gt;ifort -openmp -real_size 64 -o a.out bug.o&lt;/B&gt;&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;and run:&lt;/DIV&gt;

&lt;DIV&gt;&lt;B&gt;.\\ a.out&lt;/B&gt;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;After that you will see:&lt;/DIV&gt;

&lt;DIV&gt;(...)&lt;/DIV&gt;

&lt;DIV&gt;
	&lt;DIV&gt;Script: - S1 -&lt;/DIV&gt;

	&lt;DIV&gt;Script: *** glibc detected *** free(): invalid pointer: 0x0000003c01415000 ***&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;DIV&gt;-- and crash --&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Tell me why when I comment last line in program (!write (*,*) "--- E3 ---") program dont crash and i can see:&lt;/DIV&gt;

&lt;DIV&gt;--- E2 ---&lt;/DIV&gt;

&lt;DIV&gt;on screen?&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;If i change line "real :: e(400)" to "real :: e(20)" program will be work.If i don't use "-openmp" program will be work too.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;My fortran compiler is:Version 10.1&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Tell me pleas - what i should to do to use openMP and don't have strange compiler behavior?&lt;/DIV&gt;</description>
      <pubDate>Fri, 25 Feb 2011 16:23:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753113#M8936</guid>
      <dc:creator>Kamil_Kie</dc:creator>
      <dc:date>2011-02-25T16:23:43Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort - openMp</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753114#M8937</link>
      <description>This seems likely to be impacted by the stack limits you have set (or not set) in your shell. Unfortunately, it's up to you to set sufficient limits.</description>
      <pubDate>Fri, 25 Feb 2011 21:29:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753114#M8937</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-02-25T21:29:01Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort - openMp</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753115#M8938</link>
      <description>There does seem to be bugs in the 10.1 and 11.x compilers. This code runs fine with Composer XE 2011 (aka 12) Update 1 and Update 2. There will be no further updates to the 10.1 compiler, and currently there are no more updates scheduled for 11.1 either.&lt;BR /&gt;&lt;BR /&gt;Please upgrade to the 12.0 compiler. &lt;BR /&gt;&lt;BR /&gt;ron</description>
      <pubDate>Fri, 25 Feb 2011 23:30:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753115#M8938</guid>
      <dc:creator>Ron_Green</dc:creator>
      <dc:date>2011-02-25T23:30:43Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort - openMp</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753116#M8939</link>
      <description>Can you tell me which limits(and how to change it)? Witch limits are related witch "-openmp" compiler option? (becouse every thing (every limits) is ok when I don use "-openmp" option when I compile program)&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I can't upgrade ifort - becouse im only user of cluster - no administrator :/&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I need some workaround...&lt;/DIV&gt;</description>
      <pubDate>Sun, 27 Feb 2011 08:57:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753116#M8939</guid>
      <dc:creator>Kamil_Kie</dc:creator>
      <dc:date>2011-02-27T08:57:03Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort - openMp</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753117#M8940</link>
      <description>I have some workaround to work witch ifort 10.1 and openMP. Just use "&lt;B&gt;-trace&lt;/B&gt;" compiler option (you lost something about 5% of speed of your application) . But in this case that is writen above - that workaround doesn't work. But it work if you have error (wchih apear and disapear randomly if you change sometching in your code) like this:&lt;BR /&gt;&lt;BR /&gt;forrtl: severe (41): insufficient virtual memory&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;(when you use "-openmp" option ofcourse)&lt;/DIV&gt;</description>
      <pubDate>Sat, 05 Mar 2011 14:25:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-openMp/m-p/753117#M8940</guid>
      <dc:creator>Kamil_Kie</dc:creator>
      <dc:date>2011-03-05T14:25:14Z</dc:date>
    </item>
  </channel>
</rss>

