<?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 Looking for an IPP function in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954196#M18865</link>
    <description>&lt;P&gt;I have the following loop that I would like to optimize. Are there any IPP function for each of these statements in the for loop?&lt;/P&gt;
&lt;P&gt;double fast_product_sum(int n, double *a, int* indexes, double* b, double* c)&lt;BR /&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; double sum = 0.0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; n; i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;c&lt;I&gt; = a&lt;I&gt; + b[indexes&lt;I&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum += a&lt;I&gt; + b[indexes&lt;I&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return sum;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;I apprieciate any help in this matter.&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Chris&lt;/P&gt;</description>
    <pubDate>Tue, 26 Feb 2013 02:43:28 GMT</pubDate>
    <dc:creator>Christopher_A_1</dc:creator>
    <dc:date>2013-02-26T02:43:28Z</dc:date>
    <item>
      <title>Looking for an IPP function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954196#M18865</link>
      <description>&lt;P&gt;I have the following loop that I would like to optimize. Are there any IPP function for each of these statements in the for loop?&lt;/P&gt;
&lt;P&gt;double fast_product_sum(int n, double *a, int* indexes, double* b, double* c)&lt;BR /&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; double sum = 0.0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; n; i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;c&lt;I&gt; = a&lt;I&gt; + b[indexes&lt;I&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum += a&lt;I&gt; + b[indexes&lt;I&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return sum;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;I apprieciate any help in this matter.&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Chris&lt;/P&gt;</description>
      <pubDate>Tue, 26 Feb 2013 02:43:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954196#M18865</guid>
      <dc:creator>Christopher_A_1</dc:creator>
      <dc:date>2013-02-26T02:43:28Z</dc:date>
    </item>
    <item>
      <title>Please look at a subset of</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954197#M18866</link>
      <description>Please look at a subset of &lt;STRONG&gt;IPP&lt;/STRONG&gt; functions called as &lt;STRONG&gt;Vector Math&lt;/STRONG&gt; functions. These functions allow to do &lt;STRONG&gt;add&lt;/STRONG&gt;, &lt;STRONG&gt;subtract&lt;/STRONG&gt; and &lt;STRONG&gt;multiply&lt;/STRONG&gt; operations for every element of the source vector and highly optimized.</description>
      <pubDate>Tue, 26 Feb 2013 14:35:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954197#M18866</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-02-26T14:35:37Z</dc:date>
    </item>
    <item>
      <title>Chris, you're calculating the</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954198#M18867</link>
      <description>Chris, you're calculating the sum of &lt;STRONG&gt;a&lt;I&gt; + b[ indexes&lt;I&gt; ]&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt; twice:
...
for (int i = 0; i &amp;lt; n; i++)
{
        c&lt;I&gt; = &lt;STRONG&gt;a&lt;I&gt; + b[ indexes&lt;I&gt; ]&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt;;
        sum += &lt;STRONG&gt;a&lt;I&gt; + b[ indexes&lt;I&gt; ]&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt;;
}
...
and if input arrays are very large ( for example, greater than 4MB ), &lt;STRONG&gt;indexes&lt;/STRONG&gt; array has unordered/random values and all input arrays don't fit into L3 cache line then a performance of calculations will be affected.&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;</description>
      <pubDate>Wed, 27 Feb 2013 14:53:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Looking-for-an-IPP-function/m-p/954198#M18867</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-02-27T14:53:44Z</dc:date>
    </item>
  </channel>
</rss>

