<?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: IPP DFT plans - data only? in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887905#M11029</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;according our expert we have no such possibility for DFT function in ipps library. For FFT functions there is GetBufSize-user alloc-Init functions, but for DFT we have only combined function InitAlloc. You may submit this as a feature request to be considered for the future versions of IPP.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
    <pubDate>Mon, 29 Jan 2007 07:00:04 GMT</pubDate>
    <dc:creator>Vladimir_Dudnik</dc:creator>
    <dc:date>2007-01-29T07:00:04Z</dc:date>
    <item>
      <title>IPP DFT plans - data only?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887902#M11026</link>
      <description>&lt;P&gt;We want to generate some DFT plans and then use them&lt;/P&gt;
&lt;P&gt;a) across many processes on a single node&lt;/P&gt;
&lt;P&gt;b) across multiple parallel machines&lt;/P&gt;
&lt;P&gt;I understand the need to keep the plans 'opaque' to allow the need to add additional information in future releases, but are plans data only, or do they contain say memory pointers that make them valid in only a single virtual memoy space.&lt;/P&gt;
&lt;P&gt;If I want to pass them around (or hold them in a central database, I also need to know the size of the plan and (ideally) want to be able to use a buffer of my choosing that I can put in shared memory.&lt;/P&gt;
&lt;P&gt;Assuming plans don't use memory pointers (say to other plans), is it possible to &lt;/P&gt;
&lt;P&gt;a) get an estimated size for a plan&lt;/P&gt;
&lt;P&gt;b) pass in my own allocated buffer for IPP to use to store the plan. I can only find an API that assumes the IPP allocates and passes back a pointer so I have no knowledge of buffer size and no control over where in memory it is.&lt;/P&gt;
&lt;P&gt;c) If I knew size and the structure was data only, I could then copy to my own memory area mapped into shared memory. Perhaps this is possible even if I can't specify the initial plan buffer.&lt;/P&gt;
&lt;P&gt;Plans take between 10 and 100x the runtime of the actual DFT in the area I'm looking at. That makes on the fly plan creation impossible. My main goal is to share one set of plans across processes on one node and for this to work when processes are actually in different VM address spaces. (the stretch to multi-node is less of an issue)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Jan 2007 17:25:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887902#M11026</guid>
      <dc:creator>pdotb</dc:creator>
      <dc:date>2007-01-19T17:25:09Z</dc:date>
    </item>
    <item>
      <title>Re: IPP DFT plans - data only?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887903#M11027</link>
      <description>&lt;P&gt;I'm very sorry, but I did not understand what you are talking about. What are the plans? What is DFT? Do you mean discrete cosine transform? What area it comes from?&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Sat, 20 Jan 2007 07:46:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887903#M11027</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-20T07:46:54Z</dc:date>
    </item>
    <item>
      <title>Re: IPP DFT plans - data only?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887904#M11028</link>
      <description>&lt;P&gt;Many thanks for taking the trouble to look at this. Sorry my last message wasn't totally clear.&lt;/P&gt;
&lt;P&gt;The DFT refers to discrete fourier transform. Specifically I'm interested in ippsDFTFwd_CtoC(...) and friends. For each transform length, theyrequire a separate 'one-off' preparatory call to ippsDFTInitAlloc() to prepare a 'plan of action' from thedefinition of the transform being requested. It would pre-calculate coefficients, decide how to break the problem down into efficient sub-kernels if possible etc. etc. and store these as a DFTSpec.&lt;/P&gt;
&lt;P&gt;I used the term 'plan' but now realise thats perhaps slightly esoteric if you aren't familiar with some of FFTW's (&lt;A href="http://www.fftw.org"&gt;www.fftw.org&lt;/A&gt;) terminology regarding terms like 'plan' and 'wisdom'. It is merely that set of information pre-calculated in InitAlloc. Ipp refers to it as a DFTSpec. Sorry for the confusion.&lt;/P&gt;
&lt;P&gt;InitAlloc currently allocates an area behind the scenes and passes back a pointer to that area with no details of the length and content of that init buffer ('opaque').&lt;/P&gt;&lt;FONT face="Courier New" size="2"&gt;
&lt;P align="left"&gt;IppStatus ippsDFTInitAlloc_C_32f(IppsDFTSpec_C_32f** &lt;/P&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Courier New" size="2"&gt;pDFTSpec&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, int &lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Courier New" size="2"&gt;length&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, int &lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Courier New" size="2"&gt;flag&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, IppHintAlgorithm &lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Courier New" size="2"&gt;hint&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;The preparation time actually takes much longer than the DFT call itself so when you care about throughput with lots of different possible input lengths, you try to prepare allDFTSpecs (for different vector lengths) ahead of time (using a combination of zero-padding and a prepared set of pre-planned DFT lengths).&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;Ideally I want to prepareDFTSpecs once and share them across many processes. Because different processes *may* have different virtual memory address ranges, I would need some guarantees about the contents of a DFTSpec in order to share them:&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;a)Are DFTspecs actually just data or contain memory pointers&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;b)If a) is OK - data only... Is there a way for me to either &lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;1) force IPP's original allocation into preallocated shared memory (an IPP general configuration setting to tell IPP where to go for scratchpad memory?)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;2) or I could copy the returned DFTSpec into my shared memory (which requires length and alignment constraints to be known)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Courier New" size="2"&gt;Many thanks for any advice.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 21 Jan 2007 02:16:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887904#M11028</guid>
      <dc:creator>pdotb</dc:creator>
      <dc:date>2007-01-21T02:16:16Z</dc:date>
    </item>
    <item>
      <title>Re: IPP DFT plans - data only?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887905#M11029</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;according our expert we have no such possibility for DFT function in ipps library. For FFT functions there is GetBufSize-user alloc-Init functions, but for DFT we have only combined function InitAlloc. You may submit this as a feature request to be considered for the future versions of IPP.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jan 2007 07:00:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-DFT-plans-data-only/m-p/887905#M11029</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-29T07:00:04Z</dc:date>
    </item>
  </channel>
</rss>

