<?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 About zero padding in time in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974187#M20799</link>
    <description>&lt;P&gt;About zero padding in time domain, if src width = 1000 and kernel width = 21, then maximum required zero padding (to reduce ringing) would be 1000+21-1 = 1020.&lt;BR /&gt;If you just zero pad to 1024x1024 then you benefit from FFT (faster at powers of two, and requires powers of two).&lt;/P&gt;
&lt;P&gt;Using DFT: faster at powers of two, and does not require powers of two.&lt;/P&gt;
&lt;P&gt;However, if your ~1000 actually is 1024, then 1024+21-1 = 1044, and this is not efficient for FFT.&lt;BR /&gt;I consider IPP's DFT to be very fast, so you could just zero pad to 1044, then DFT this, then loop:&lt;BR /&gt;- Make kernel (in time domain + FFT/DFT to 1044)&lt;BR /&gt;- Muliply&lt;BR /&gt;- DFT-1&lt;/P&gt;
&lt;P&gt;You must also consider not thinking about a "kernel", at since this is a time domain thing.&lt;BR /&gt;That said, IPP actually implements (time domain) convolution using DFT, if image dimension is &amp;gt; some value. Your 1000 is above that value...&lt;/P&gt;
&lt;P&gt;So, you should make a test only using time domain convolutions to see if that is fast enough. Make sure to allow ippiConvolve to use multiple threads.&lt;/P&gt;</description>
    <pubDate>Mon, 18 Mar 2013 18:09:57 GMT</pubDate>
    <dc:creator>Thomas_Jensen1</dc:creator>
    <dc:date>2013-03-18T18:09:57Z</dc:date>
    <item>
      <title>efficient multiplale fft's</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974186#M20798</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; I wan tto use fft to filter a large 2d image (~1000x1000). I want to filter the image several times each time with a different kernel (~21x21).&lt;/P&gt;
&lt;P&gt;To benefit from the using the fft i can calculate the image fft once then only calculate each kernel's fft multiply the two and invFFT..&lt;/P&gt;
&lt;P&gt;the problem is that the image is much larger than the kernel and zero padding the kernel to the image size looks to be very&amp;nbsp;wasteful, is there a fft implementation that takes advantge of the zeros and computes the larger fft but withou the external zero padding?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thnak you in advance,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;Noam.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2013 14:31:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974186#M20798</guid>
      <dc:creator>Noam_Z_1</dc:creator>
      <dc:date>2013-03-18T14:31:16Z</dc:date>
    </item>
    <item>
      <title>About zero padding in time</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974187#M20799</link>
      <description>&lt;P&gt;About zero padding in time domain, if src width = 1000 and kernel width = 21, then maximum required zero padding (to reduce ringing) would be 1000+21-1 = 1020.&lt;BR /&gt;If you just zero pad to 1024x1024 then you benefit from FFT (faster at powers of two, and requires powers of two).&lt;/P&gt;
&lt;P&gt;Using DFT: faster at powers of two, and does not require powers of two.&lt;/P&gt;
&lt;P&gt;However, if your ~1000 actually is 1024, then 1024+21-1 = 1044, and this is not efficient for FFT.&lt;BR /&gt;I consider IPP's DFT to be very fast, so you could just zero pad to 1044, then DFT this, then loop:&lt;BR /&gt;- Make kernel (in time domain + FFT/DFT to 1044)&lt;BR /&gt;- Muliply&lt;BR /&gt;- DFT-1&lt;/P&gt;
&lt;P&gt;You must also consider not thinking about a "kernel", at since this is a time domain thing.&lt;BR /&gt;That said, IPP actually implements (time domain) convolution using DFT, if image dimension is &amp;gt; some value. Your 1000 is above that value...&lt;/P&gt;
&lt;P&gt;So, you should make a test only using time domain convolutions to see if that is fast enough. Make sure to allow ippiConvolve to use multiple threads.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2013 18:09:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974187#M20799</guid>
      <dc:creator>Thomas_Jensen1</dc:creator>
      <dc:date>2013-03-18T18:09:57Z</dc:date>
    </item>
    <item>
      <title>If you would leave some</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974188#M20800</link>
      <description>&lt;P&gt;If you would leave some feedback here, we'd all appreciate it...&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2013 18:10:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974188#M20800</guid>
      <dc:creator>Thomas_Jensen1</dc:creator>
      <dc:date>2013-03-18T18:10:53Z</dc:date>
    </item>
    <item>
      <title>thank you for your response.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974189#M20801</link>
      <description>&lt;P&gt;thank you for your response.&lt;/P&gt;
&lt;P&gt;What I meant was that it seems redundant to zero pad the small kernel (or patch\template whichever you prefer to call it) and do a DFT on the padded kernel since it will involve a lot of multiplications by zero.. I wanterd to know if the ipp has some DFT function that knows to use the fact that I want to do a 1024 sized FFT on a actual 21 sized image.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 07:12:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/efficient-multiplale-fft-s/m-p/974189#M20801</guid>
      <dc:creator>Noam_Z_1</dc:creator>
      <dc:date>2013-03-19T07:12:52Z</dc:date>
    </item>
  </channel>
</rss>

