<?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 heap error with OpenMP in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790184#M32189</link>
    <description>Try adding "recursive" to the subroutine declaration:&lt;BR /&gt;&lt;BR /&gt;recursive subroutine name(m)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8) array(m,m)&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;or&lt;BR /&gt;&lt;BR /&gt;recursive subroutine name(m)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8), allocatable ::array(:,:)&lt;BR /&gt;allocate(array(m,m))&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
    <pubDate>Sat, 26 Jun 2010 11:28:31 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2010-06-26T11:28:31Z</dc:date>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790180#M32185</link>
      <description>I meet a problem.Thesettings in myIVF complier are asbelow:&lt;BR /&gt;&lt;BR /&gt;(1) Optimization:Speed plus higher level Optimizations(/03).&lt;BR /&gt;(2)Global Optimizations:Yes(/Og)&lt;BR /&gt;(3) Heap Arrays:30&lt;BR /&gt;(4) Process OpenMP Directives: Generate Parallel Code(/Qopenmp)&lt;BR /&gt;&lt;BR /&gt;If I run my code with above settings, I find there is a heap error, pointed to the file dgbheap.c, when I run in the debug mode and code just stops in non-debug mode.&lt;BR /&gt;&lt;BR /&gt;However, I note that when I set off (1) or (4), the code can run well.&lt;BR /&gt;&lt;BR /&gt;I wonder why I cannot run the code with (1) and (4) on?&lt;BR /&gt;&lt;BR /&gt;Thanks you in advance.</description>
      <pubDate>Fri, 25 Jun 2010 13:27:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790180#M32185</guid>
      <dc:creator>hadesmajesty</dc:creator>
      <dc:date>2010-06-25T13:27:18Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790181#M32186</link>
      <description>Please provide a test case we can build and run here. We'll be glad to investigate.</description>
      <pubDate>Fri, 25 Jun 2010 13:40:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790181#M32186</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-06-25T13:40:36Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790182#M32187</link>
      <description>Thanks, Steve. But I am afraid I can not provide thecode.&lt;BR /&gt;&lt;BR /&gt;I find the problem occurs in thebelow subroutine:&lt;BR /&gt;&lt;BR /&gt;subroutine name(m)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8) array(m,m)&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I temporally resolve the problem by removing thefixed size array(m,m) in my subroutine and setting the heap arrays as default.&lt;BR /&gt;&lt;BR /&gt;However, in the case I really need such a large array, what should I do? Can I increase the stack size of IVF and how?&lt;BR /&gt;&lt;BR /&gt;Thanks a lot.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sat, 26 Jun 2010 04:06:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790182#M32187</guid>
      <dc:creator>hadesmajesty</dc:creator>
      <dc:date>2010-06-26T04:06:56Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790183#M32188</link>
      <description>I suggest this instead:&lt;BR /&gt;&lt;BR /&gt;subroutine name(m)&lt;BR /&gt;integer m&lt;BR /&gt;real(8), allocatable :: array(:)&lt;BR /&gt;allocate (array(m))&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;The array will be automatically deallocated when the subroutine exits.</description>
      <pubDate>Sat, 26 Jun 2010 10:38:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790183#M32188</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-06-26T10:38:59Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790184#M32189</link>
      <description>Try adding "recursive" to the subroutine declaration:&lt;BR /&gt;&lt;BR /&gt;recursive subroutine name(m)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8) array(m,m)&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;or&lt;BR /&gt;&lt;BR /&gt;recursive subroutine name(m)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8), allocatable ::array(:,:)&lt;BR /&gt;allocate(array(m,m))&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Sat, 26 Jun 2010 11:28:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790184#M32189</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-06-26T11:28:31Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790185#M32190</link>
      <description>The issue here is running out of thread stack - adding recursive won't change that - as an "automatic array", ARRAY is already stack-allocated. Using ALLOCATABLE will as the allocation will come from the heap.</description>
      <pubDate>Sat, 26 Jun 2010 13:53:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790185#M32190</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-06-26T13:53:15Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790186#M32191</link>
      <description>Thank you so much.&lt;BR /&gt;&lt;BR /&gt;But I still want to ask one more question. What should I do if I need to transfer the large array as parameter? For example:&lt;BR /&gt;&lt;BR /&gt;subroutine name(m,arrary)&lt;BR /&gt;&lt;BR /&gt;integer m&lt;BR /&gt;real(8) array(m,m)&lt;BR /&gt;&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;In this case, it seems that the allocatable/allocate method cannot be applied in above situation.&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;</description>
      <pubDate>Sun, 27 Jun 2010 06:18:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790186#M32191</guid>
      <dc:creator>hadesmajesty</dc:creator>
      <dc:date>2010-06-27T06:18:33Z</dc:date>
    </item>
    <item>
      <title>heap error with OpenMP</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790187#M32192</link>
      <description>In that case you don't need ALLOCATABLE - that's only when the array is locat to the procedure. If you pass the array as an argument, it is already allocated by the caller.</description>
      <pubDate>Sun, 27 Jun 2010 13:59:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/heap-error-with-OpenMP/m-p/790187#M32192</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2010-06-27T13:59:11Z</dc:date>
    </item>
  </channel>
</rss>

