<?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 Re: Memory increasing problem calling trigonometric transform r in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Memory-increasing-problem-calling-trigonometric-transform/m-p/881635#M9624</link>
    <description>&lt;DIV style="margin:0px;"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;First of all, thank you for using Intel MKL!&lt;BR /&gt;&lt;BR /&gt;Could you please check and let me know what happens if you&lt;BR /&gt;1. put the line call mkl_freebuffers() inside the loop&lt;BR /&gt;2. put the calls to all init andcommit routines before the loopand the calls to all free routinesafter the loop&lt;BR /&gt;&lt;BR /&gt;It would also be helpful for me to get a driver that runs your subroutine residual to see the growth of memory used. Could you provide it please?&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;-Sergey G&lt;BR /&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 16 Mar 2009 03:38:15 GMT</pubDate>
    <dc:creator>Sergey_G_Intel</dc:creator>
    <dc:date>2009-03-16T03:38:15Z</dc:date>
    <item>
      <title>Memory increasing problem calling trigonometric transform routines.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Memory-increasing-problem-calling-trigonometric-transform/m-p/881634#M9623</link>
      <description>Hi all&lt;BR /&gt;&lt;BR /&gt;I have some problems with calling trigonometric transform routines in MKL, here is the exact description of my &lt;BR /&gt;&lt;BR /&gt;problem: In loops(up to more than 1,000,000),i need to call MKL trigonometric transform routines to calculate Fast &lt;BR /&gt;&lt;BR /&gt;cosine fourier transform, but when running my problem, the memory is increasing continuously till the problem has &lt;BR /&gt;&lt;BR /&gt;to stop.&lt;BR /&gt;&lt;BR /&gt;My OS is Windows xp sp2, with Intel visual fortran 11.0 and MKL 10.0&lt;BR /&gt;&lt;BR /&gt;The following subroutine is called in loops:&lt;BR /&gt;&lt;BR /&gt;subroutine residual(mgh,ush)&lt;BR /&gt;use global&lt;BR /&gt;implicit none&lt;BR /&gt;integer i,j,nn,mgh&lt;BR /&gt;real*8 ush(0:nx(mgh),0:ny(mgh),2:3)&lt;BR /&gt;type(dfti_descriptor), pointer :: handle_c,handle_s&lt;BR /&gt;integer tt_type_c,tt_type_s,stat_s,stat_c&lt;BR /&gt;integer ipar_c(128),ipar_s(128)&lt;BR /&gt;real*8 dpar_c(5*max(ni,nj)/2+2),dpar_s(5*max(ni,nj)/2+2)&lt;BR /&gt;real*8 an(0:max(ni,nj)),qprime(0:max(ni,nj)),qdprime(0:max(ni,nj))&lt;BR /&gt;real*8 vx1(ni-1),vx2(ni-1),px(ni-1)&lt;BR /&gt;real*8 vy1(nj-1),vy2(nj-1),py(nj-1)&lt;BR /&gt;resi=0.&lt;BR /&gt;tt_type_c=1&lt;BR /&gt;tt_type_s=0&lt;BR /&gt;!&lt;BR /&gt;nn=nx(mgh) &lt;BR /&gt;do j=1,ny(mgh)-1 &lt;BR /&gt;&lt;BR /&gt;an(0:nn)=mid(0:nn,j,2)&lt;BR /&gt;call d_init_trig_transform(nn,tt_type_c,ipar_c,dpar_c,stat_c)&lt;BR /&gt;call d_commit_trig_transform(an(0:nn),handle_c,ipar_c,dpar_c,stat_c)&lt;BR /&gt;call d_forward_trig_transform(an(0:nn),handle_c,ipar_c,dpar_c,stat_c)&lt;BR /&gt;call free_trig_transform(handle_c,ipar_c,stat_c) &lt;BR /&gt;qprime(0:nn)=an(0:nn)*i_1(0:nn) &lt;BR /&gt;qprime(0)=0.0&lt;BR /&gt;qprime(nn)=0.0&lt;BR /&gt;call d_init_trig_transform(nn,tt_type_s,ipar_s,dpar_s,stat_s)&lt;BR /&gt;call d_commit_trig_transform(qprime(0:nn),handle_s,ipar_s,dpar_s,stat_s)&lt;BR /&gt;call d_backward_trig_transform(qprime(0:nn),handle_s,ipar_s,dpar_s,stat_s) &lt;BR /&gt;call free_trig_transform(handle_s,ipar_s,stat_s) &lt;BR /&gt;qdprime(0:nn)=an(0:nn)*i_2(0:nn) &lt;BR /&gt;call d_init_trig_transform(nn,tt_type_c,ipar_c,dpar_c,stat_c)&lt;BR /&gt;call d_commit_trig_transform(qdprime(0:nn),handle_c,ipar_c,dpar_c,stat_c)&lt;BR /&gt;call d_backward_trig_transform(qdprime(0:nn),handle_c,ipar_c,dpar_c,stat_c) &lt;BR /&gt;call free_trig_transform(handle_c,ipar_c,stat_c)&lt;BR /&gt;!&lt;BR /&gt;vx1(1:nn-1)=qprime(1:nn-1)*xdon12(1:nn-1,mgh)&lt;BR /&gt;vx2(1:nn-1)=qprime(1:nn-1)*xdon32(1:nn-1,mgh)-qdprime(1:nn-1)*xdon1(1:nn-1,mgh)&lt;BR /&gt;!&lt;BR /&gt;call dgemv('n',nn-1,nn-1,1.0,pdx(1:nn-1,1:nn-1,mgh),nn-1,mid(1:nn-1,j,1),1,0.0,px,1)&lt;BR /&gt;&lt;BR /&gt;resi(1:nn-1,j,1)=resi(1:nn-1,j,1)-beta*vx1(1:nn-1)&lt;BR /&gt;resi(1:nn-1,j,2)=resi(1:nn-1,j,2)-mid(1:nn-1,j,2)*vx1(1:nn-1)+vx2(1:nn-1)/re-px(1:nn-1) &lt;BR /&gt;&lt;BR /&gt;enddo&lt;BR /&gt;call mkl_freebuffers()&lt;BR /&gt;end subroutine&lt;BR /&gt;&lt;BR /&gt;As you can see, the forward and backward routines are called several times in the subroutine and the subroutine is &lt;BR /&gt;&lt;BR /&gt;called in the main program for many times.&lt;BR /&gt;&lt;BR /&gt;Could anyone tell me how to deal with this problem? Thanks a lot.</description>
      <pubDate>Thu, 12 Mar 2009 14:28:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Memory-increasing-problem-calling-trigonometric-transform/m-p/881634#M9623</guid>
      <dc:creator>zhangwei83</dc:creator>
      <dc:date>2009-03-12T14:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: Memory increasing problem calling trigonometric transform r</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Memory-increasing-problem-calling-trigonometric-transform/m-p/881635#M9624</link>
      <description>&lt;DIV style="margin:0px;"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;First of all, thank you for using Intel MKL!&lt;BR /&gt;&lt;BR /&gt;Could you please check and let me know what happens if you&lt;BR /&gt;1. put the line call mkl_freebuffers() inside the loop&lt;BR /&gt;2. put the calls to all init andcommit routines before the loopand the calls to all free routinesafter the loop&lt;BR /&gt;&lt;BR /&gt;It would also be helpful for me to get a driver that runs your subroutine residual to see the growth of memory used. Could you provide it please?&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;-Sergey G&lt;BR /&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 16 Mar 2009 03:38:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Memory-increasing-problem-calling-trigonometric-transform/m-p/881635#M9624</guid>
      <dc:creator>Sergey_G_Intel</dc:creator>
      <dc:date>2009-03-16T03:38:15Z</dc:date>
    </item>
  </channel>
</rss>

