<?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 Is there a signicant performance difference between DFT and FFTW3 interfaces? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863323#M7644</link>
    <description>I am trying to convert some code that used FFTPACK to MKL to improve performance. I am not an FFT expert, and the MKL documentation wasn't very clear on how to do a real-to-complex (or vice versa) FFT. I was able to get something working using the FFTW3 interface:&lt;BR /&gt;&lt;BR /&gt; call dfftw_plan_dft_c2r_1d(plan_backward,&lt;BR /&gt; &amp;amp; lons_lat,outv,inv,FFTW_ESTIMATE)&lt;BR /&gt;&lt;BR /&gt; do n=1,lot&lt;BR /&gt; outv(:)=syn_gr_a_1(:,n)&lt;BR /&gt; call dfftw_execute(plan_backward)&lt;BR /&gt; syn_gr_a_2(:,n)=inv(:)&lt;BR /&gt; end do&lt;BR /&gt; call dfftw_destroy_plan(plan_backward)&lt;BR /&gt;&lt;BR /&gt;This function that contains this code is called 1000s of times during the execution of the model.&lt;BR /&gt;&lt;BR /&gt;In this case, the length of each vector is 576 and the number executed is 515. I am getting similar answers to the original code, but it isn't going any faster. &lt;BR /&gt;&lt;BR /&gt;Is this an issue with the wrapper script, and should I be trying to figure out the DFT syntax for this?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Craig</description>
    <pubDate>Fri, 11 Dec 2009 21:10:02 GMT</pubDate>
    <dc:creator>crtierney42</dc:creator>
    <dc:date>2009-12-11T21:10:02Z</dc:date>
    <item>
      <title>Is there a signicant performance difference between DFT and FFTW3 interfaces?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863323#M7644</link>
      <description>I am trying to convert some code that used FFTPACK to MKL to improve performance. I am not an FFT expert, and the MKL documentation wasn't very clear on how to do a real-to-complex (or vice versa) FFT. I was able to get something working using the FFTW3 interface:&lt;BR /&gt;&lt;BR /&gt; call dfftw_plan_dft_c2r_1d(plan_backward,&lt;BR /&gt; &amp;amp; lons_lat,outv,inv,FFTW_ESTIMATE)&lt;BR /&gt;&lt;BR /&gt; do n=1,lot&lt;BR /&gt; outv(:)=syn_gr_a_1(:,n)&lt;BR /&gt; call dfftw_execute(plan_backward)&lt;BR /&gt; syn_gr_a_2(:,n)=inv(:)&lt;BR /&gt; end do&lt;BR /&gt; call dfftw_destroy_plan(plan_backward)&lt;BR /&gt;&lt;BR /&gt;This function that contains this code is called 1000s of times during the execution of the model.&lt;BR /&gt;&lt;BR /&gt;In this case, the length of each vector is 576 and the number executed is 515. I am getting similar answers to the original code, but it isn't going any faster. &lt;BR /&gt;&lt;BR /&gt;Is this an issue with the wrapper script, and should I be trying to figure out the DFT syntax for this?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Craig</description>
      <pubDate>Fri, 11 Dec 2009 21:10:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863323#M7644</guid>
      <dc:creator>crtierney42</dc:creator>
      <dc:date>2009-12-11T21:10:02Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a signicant performance difference between DFT and</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863324#M7645</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Hi Craig,&lt;BR /&gt;Replacinguse ofFFTW3 interface with use of DFTI interface will not give noticeableperformance advantage.&lt;BR /&gt;However, you may getimproved performance if you plan for multiple transforms in a single call of dfftw_execute instead of executing single transform in the loop. Could you look at DFFTW_PLAN_MANY_DFT_C2R, and rearrange your code to something like this:&lt;/P&gt;
&lt;P&gt;call dfftw_plan_many_dft_c2r(plan,1,lons_lat, lot, syn_gr_a_1,dontcare,1,&lt;BR /&gt; size(syn_gr_a_1,dim=1),syn_gr_a_2,dontcare,1,size(syn_gr_a_2,dim=1),FFTW_ESTIMATE)&lt;/P&gt;
&lt;P&gt;call dfftw_execute(plan) !former do n=1,lot ... enddo&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Dima&lt;/P&gt;</description>
      <pubDate>Sat, 12 Dec 2009 19:08:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863324#M7645</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2009-12-12T19:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a signicant performance difference between DFT and</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863325#M7646</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/93647"&gt;Dmitry Baksheev (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Hi Craig,&lt;BR /&gt;Replacinguse ofFFTW3 interface with use of DFTI interface will not give noticeableperformance advantage.&lt;BR /&gt;However, you may getimproved performance if you plan for multiple transforms in a single call of dfftw_execute instead of executing single transform in the loop. Could you look at DFFTW_PLAN_MANY_DFT_C2R, and rearrange your code to something like this:&lt;/P&gt;
&lt;P&gt;call dfftw_plan_many_dft_c2r(plan,1,lons_lat, lot, syn_gr_a_1,dontcare,1,&lt;BR /&gt; size(syn_gr_a_1,dim=1),syn_gr_a_2,dontcare,1,size(syn_gr_a_2,dim=1),FFTW_ESTIMATE)&lt;/P&gt;
&lt;P&gt;call dfftw_execute(plan) !former do n=1,lot ... enddo&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Dima&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Thanks for the guideance. Using this works.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 16 Dec 2009 02:27:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Is-there-a-signicant-performance-difference-between-DFT-and/m-p/863325#M7646</guid>
      <dc:creator>crtierney42</dc:creator>
      <dc:date>2009-12-16T02:27:09Z</dc:date>
    </item>
  </channel>
</rss>

