<?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 Any IPP primitive for de-spread function in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787147#M2097</link>
    <description>&lt;BR /&gt;&lt;P&gt;Rohit,&lt;/P&gt;&lt;P&gt;The inner loop looks to a dot products, and hot spot of the code&lt;/P&gt;&lt;P&gt;for (chip = 0; chip &amp;lt; sf; chip++){&lt;/P&gt;&lt;P&gt; sum += (*pSrc++) * (*pW++); //&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;If sf is large, the code could be replace with ippsDotProd_ function. &lt;/P&gt;&lt;P&gt;Thanks,C&lt;BR /&gt;Chao&lt;/P&gt;</description>
    <pubDate>Fri, 25 Nov 2011 02:03:52 GMT</pubDate>
    <dc:creator>Chao_Y_Intel</dc:creator>
    <dc:date>2011-11-25T02:03:52Z</dc:date>
    <item>
      <title>Any IPP primitive for de-spread function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787146#M2096</link>
      <description>HI,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Is there are any despread function?&lt;/DIV&gt;&lt;DIV&gt;I have implemented this in C. Is there any IPP function&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;for (sym = 0; sym &amp;lt; N_corr; sym++)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;  {&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    sum = 0.0f;        &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    for (chip = 0; chip &amp;lt; sf; chip++)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    {&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;      sum += (*pSrc++) * (*pW++); //&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    }&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    *pDest++ = sum;       //&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;    pW -= sf;  //&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;  }&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Rohit&lt;/DIV&gt;</description>
      <pubDate>Thu, 24 Nov 2011 14:33:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787146#M2096</guid>
      <dc:creator>rohitspandey</dc:creator>
      <dc:date>2011-11-24T14:33:11Z</dc:date>
    </item>
    <item>
      <title>Any IPP primitive for de-spread function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787147#M2097</link>
      <description>&lt;BR /&gt;&lt;P&gt;Rohit,&lt;/P&gt;&lt;P&gt;The inner loop looks to a dot products, and hot spot of the code&lt;/P&gt;&lt;P&gt;for (chip = 0; chip &amp;lt; sf; chip++){&lt;/P&gt;&lt;P&gt; sum += (*pSrc++) * (*pW++); //&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;If sf is large, the code could be replace with ippsDotProd_ function. &lt;/P&gt;&lt;P&gt;Thanks,C&lt;BR /&gt;Chao&lt;/P&gt;</description>
      <pubDate>Fri, 25 Nov 2011 02:03:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787147#M2097</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2011-11-25T02:03:52Z</dc:date>
    </item>
    <item>
      <title>Any IPP primitive for de-spread function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787148#M2098</link>
      <description>I see only 2 possible variants based on the currently available IPP functionality:&lt;BR /&gt;1) already mentioned by Chao:&lt;BR /&gt;&lt;P&gt;for (sym = 0; sym &amp;lt; N_corr; sym++){&lt;/P&gt;&lt;P&gt; Ipp32f sum; &lt;/P&gt;&lt;P&gt; ippsDotProd_32f( pSrc, pW, sf, ∑ );&lt;BR /&gt; *pDest++ = sum; //&lt;BR /&gt; pSrc += sf;&lt;BR /&gt;}&lt;BR /&gt;2) with temp buf of size sf:&lt;BR /&gt;Ipp32f sum;&lt;BR /&gt;for( sym = 0; sym &amp;lt; N_corr; sym += sf ){&lt;BR /&gt; ippsMul_32f( pSrc, pW, pBuf, sf );&lt;BR /&gt; pSrc += sf;&lt;BR /&gt; ippsSum_32f( pBuf, sf, ∑, ippAlgHintFast );&lt;BR /&gt; *pDest++ = sum;&lt;BR /&gt;}&lt;BR /&gt;3) based on AddProduct function - guess not so efficient&lt;BR /&gt;&lt;BR /&gt;and I think that the 1st one should be the most efficient in case of reasonable sf, otherwise there is no alternative for C code compiled with Intel compiler - but for efficien code generation (vectorization) you should re-write your code with arrays and indexes and use "ivdep" pragma.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Igor&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Nov 2011 07:18:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787148#M2098</guid>
      <dc:creator>igorastakhov</dc:creator>
      <dc:date>2011-11-25T07:18:49Z</dc:date>
    </item>
    <item>
      <title>Any IPP primitive for de-spread function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787149#M2099</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Thanks for the help. The performance of dotproduct is good for significant sf sizes compared to C. &lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Rohit</description>
      <pubDate>Wed, 04 Jan 2012 12:13:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Any-IPP-primitive-for-de-spread-function/m-p/787149#M2099</guid>
      <dc:creator>rohitspandey</dc:creator>
      <dc:date>2012-01-04T12:13:57Z</dc:date>
    </item>
  </channel>
</rss>

