<?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 this is how mkl memory in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959874#M15824</link>
    <description>&lt;P&gt;this is how mkl memory manager works.&amp;nbsp;Intel MKL has memory management software that controls memory buffers for the use by the library&amp;nbsp;functions. New buffers that the library allocates when your application calls Intel MKL are not deallocated&amp;nbsp;until the program ends. To get the amount of memory allocated by the memory management software, call&amp;nbsp;the mkl_mem_stat() function. If your program needs to free memory, call mkl_free_buffers().&lt;/P&gt;
&lt;P&gt;see more details into mkl's users Guide&lt;/P&gt;</description>
    <pubDate>Wed, 15 May 2013 17:05:48 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2013-05-15T17:05:48Z</dc:date>
    <item>
      <title>pardiso  Memory leak?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959870#M15820</link>
      <description>&lt;P&gt;I feel very puzzled with the Win32 Pardiso version.&lt;/P&gt;
&lt;P&gt;My integrated enviroment is&amp;nbsp;Intel(R) Visual Fortran Compiler XE 12.1.7.371.&lt;/P&gt;
&lt;P&gt;My matrix has 5 million non zeros ,and n =200,000 , real and symmetric indefinite&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I first test the memory I could use(1022M could be used), then I&amp;nbsp;call pardiso to do the 23 phase,then call pardiso to&amp;nbsp;do the -1 phase;&lt;/P&gt;
&lt;P&gt;then I test the memory I could use again,&lt;/P&gt;
&lt;P&gt;I fould that&amp;nbsp;only about 700 M Memory&amp;nbsp;that could be used.&lt;/P&gt;
&lt;P&gt;What should I do? Theoretically I could use 1022 M Memory again.&lt;/P&gt;
&lt;P&gt;This doesnt happen under win64.&lt;/P&gt;
&lt;P&gt;Hope for the reply.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2013 08:27:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959870#M15820</guid>
      <dc:creator>Frank_W_1</dc:creator>
      <dc:date>2013-05-14T08:27:57Z</dc:date>
    </item>
    <item>
      <title>I am not sure I understand</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959871#M15821</link>
      <description>&lt;P&gt;I am not sure I understand your question: if you call pardiso with -1 phase, then you release all internal data structures and therefore the next time you need to make all steps ( symb. and numeric factorizations and forward / backward computation ) again. in the case if you will not call -1 phase, then you can reuse the factorizations.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2013 05:43:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959871#M15821</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2013-05-15T05:43:46Z</dc:date>
    </item>
    <item>
      <title>Sorry, some details has been</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959872#M15822</link>
      <description>&lt;P&gt;Sorry, some details has been expressed wrongly. &lt;BR /&gt;I haved called pardiso to do the 11,22,33 phase sequentially.&lt;BR /&gt;Then I need to do -1 phase to free the memorty that pardiso has allocated; &lt;BR /&gt;But when after I have done -1 phase,the memory space couldn't recover to&lt;BR /&gt;the original.&lt;BR /&gt;I guess some memory leak has happpened.&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2013 06:57:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959872#M15822</guid>
      <dc:creator>Frank_W_1</dc:creator>
      <dc:date>2013-05-15T06:57:58Z</dc:date>
    </item>
    <item>
      <title>Sorry, some details has been</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959873#M15823</link>
      <description>&lt;P&gt;Sorry, some details has been expressed wrongly. &lt;BR /&gt;I haved called pardiso to do the 11,22,33 phase sequentially.&lt;BR /&gt;Then I need to do -1 phase to free the memorty that pardiso has allocated; &lt;BR /&gt;But when after I have done -1 phase,the memory space couldn't recover to&lt;BR /&gt;the original.&lt;BR /&gt;I guess some memory leak has happpened.&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2013 06:58:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959873#M15823</guid>
      <dc:creator>Frank_W_1</dc:creator>
      <dc:date>2013-05-15T06:58:01Z</dc:date>
    </item>
    <item>
      <title>this is how mkl memory</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959874#M15824</link>
      <description>&lt;P&gt;this is how mkl memory manager works.&amp;nbsp;Intel MKL has memory management software that controls memory buffers for the use by the library&amp;nbsp;functions. New buffers that the library allocates when your application calls Intel MKL are not deallocated&amp;nbsp;until the program ends. To get the amount of memory allocated by the memory management software, call&amp;nbsp;the mkl_mem_stat() function. If your program needs to free memory, call mkl_free_buffers().&lt;/P&gt;
&lt;P&gt;see more details into mkl's users Guide&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2013 17:05:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959874#M15824</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2013-05-15T17:05:48Z</dc:date>
    </item>
    <item>
      <title>Gennady，</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959875#M15825</link>
      <description>&lt;P&gt;Gennady，&lt;/P&gt;
&lt;P&gt;Thank you very much.&lt;/P&gt;
&lt;P&gt;I have found the reason&amp;nbsp; that the pointer&amp;nbsp;pt(i) have been modified more than once.&lt;/P&gt;
&lt;P&gt;The pointer&amp;nbsp;pt(i) should be set to 0 always&amp;nbsp;and&amp;nbsp; must be used only&amp;nbsp;at the beginning when one wants to call pardiso.&lt;/P&gt;
&lt;P&gt;Except for&amp;nbsp;the details of pointer&amp;nbsp;pt(i) of&amp;nbsp;mkl‘s users Guide, is there any other function of&amp;nbsp;&amp;nbsp;pt(i)?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Gennady Fedorov (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;this is how mkl memory manager works.&amp;nbsp;Intel MKL has memory management software that controls memory buffers for the use by the library&amp;nbsp;functions. New buffers that the library allocates when your application calls Intel MKL are not deallocated&amp;nbsp;until the program ends. To get the amount of memory allocated by the memory management software, call&amp;nbsp;the mkl_mem_stat() function. If your program needs to free memory, call mkl_free_buffers().&lt;/P&gt;
&lt;P&gt;see more details into mkl's users Guide&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 May 2013 03:48:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959875#M15825</guid>
      <dc:creator>Frank_W_1</dc:creator>
      <dc:date>2013-05-29T03:48:13Z</dc:date>
    </item>
    <item>
      <title>Hey Frank,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959876#M15826</link>
      <description>&lt;P&gt;Hey Frank,&lt;/P&gt;
&lt;P&gt;I have the same problem. How did you solve it at the end? Do you call the mkl_free_buffers() at end of the subroutine, i.e. after the -1 phase?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or do you delete pt() somewhere in the subroutine?&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Hakan.&lt;/P&gt;</description>
      <pubDate>Thu, 30 May 2013 15:08:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959876#M15826</guid>
      <dc:creator>Dogan__Hakan</dc:creator>
      <dc:date>2013-05-30T15:08:42Z</dc:date>
    </item>
    <item>
      <title>Hakan,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959877#M15827</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Hakan,&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The pointer pt(i) should be set to 0 always and&amp;nbsp; must be used only once.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The mkl_free_buffers() has no effect at all. I think it has no relation with pardiso.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Frank&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2013 07:10:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-Memory-leak/m-p/959877#M15827</guid>
      <dc:creator>Frank_W_1</dc:creator>
      <dc:date>2013-06-05T07:10:15Z</dc:date>
    </item>
  </channel>
</rss>

