<?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 Hi, in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179655#M27138</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;May I know how did you link your program against IPP?&lt;/P&gt;

&lt;P&gt;Did you link the program against multi-threading version of 2018?&lt;/P&gt;</description>
    <pubDate>Tue, 04 Sep 2018 07:53:16 GMT</pubDate>
    <dc:creator>Jing_Xu</dc:creator>
    <dc:date>2018-09-04T07:53:16Z</dc:date>
    <item>
      <title>Time performance - ippiCrossCorrNorm_32f_C1R</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179654#M27137</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;I have compared the time performance of cross-correlation (with normalized coefficients) in Ipp 7.0 vs Ipp 2018. In my test, the old version is 2x - 3x faster.&amp;nbsp;&lt;SPAN style="font-size: 1em;"&gt;I have disabled the hyper-threding from Bios. I have tried to use versions for different processors (y8, e9, I9).&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;

&lt;DIV&gt;VTune (trial) shows that Ipp 2018 version of cross-correlation has no multi-threading compared to Ipp 7.0.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Is there something I'm missing? The only difference between the 2 tests is the call for cross-correlation.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;My processor is an Intel Core i7 4790.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;---------------------------------------&lt;/DIV&gt;

&lt;DIV&gt;Test #1: Ipp 2018&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Lib info:&lt;/DIV&gt;

&lt;DIV&gt;targetCpu: I9&lt;/DIV&gt;

&lt;DIV&gt;Name: "ippCV AVX2 (I9)"&lt;/DIV&gt;

&lt;DIV&gt;Version:&lt;SPAN style="white-space: pre;"&gt; &lt;/SPAN&gt;"2018.0.3 (r58644)"&lt;/DIV&gt;

&lt;DIV&gt;BuildDate: "Apr 7 2018"&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Code:&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imInput;&lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// 2048 x 2048, 8-bit image loaded from hdd&lt;/DIV&gt;

&lt;DIV&gt;&lt;SPAN style="font-size: 13.008px;"&gt;CGenericImage imInput_32f; // input image converted to Ipp32f&lt;/SPAN&gt;&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imTemplate_32f; &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// generated gaussian template, 9x9&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imOutput_32f; &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// score image&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;IppiSize szImage &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;= { imInput.m_nWidth, imInput.m_nHeight };&lt;/DIV&gt;

&lt;DIV&gt;IppiSize szTemplate = { imTemplate_32f.m_nWidth, imTemplate_32f.m_nHeight };&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;st |= ippiConvert_8u32f_C1R((Ipp8u*)imInput.m_pData, imInput.m_nStep, (Ipp32f*)imInput_32f.m_pData, imInput_32f.m_nStep, szImage);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Ipp8u* pBuffer = NULL;&lt;/DIV&gt;

&lt;DIV&gt;int nBufferSize = 0;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;st |= ippiCrossCorrNormGetBufferSize(szImage, szTemplate, algType, &amp;amp;nBufferSize);&lt;/DIV&gt;

&lt;DIV&gt;pBuffer = ippsMalloc_8u(nBufferSize);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;IppEnum algType = (IppEnum)(ippAlgAuto | ippiROISame | ippiNormCoefficient);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;st |= ippiCrossCorrNorm_32f_C1R((Ipp32f*)imInput_32f.m_pData, imInput_32f.m_nStep, szImage&lt;/DIV&gt;

&lt;DIV&gt;, (Ipp32f*)imTemplate_32f.m_pData, imTemplate_32f.m_nStep, szTemplate&lt;/DIV&gt;

&lt;DIV&gt;, (Ipp32f*)imOutput_32f.m_pData, imOutput_32f.m_nStep, algType, pBuffer);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;---------------------------------------&lt;/DIV&gt;

&lt;DIV&gt;Test #2: Ipp 7.0&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Lib info:&lt;/DIV&gt;

&lt;DIV&gt;targetCpu: e9&lt;/DIV&gt;

&lt;DIV&gt;Name: "ippcve9-7.0.dll"&lt;/DIV&gt;

&lt;DIV&gt;Version: "7.0 build 250.85"&lt;/DIV&gt;

&lt;DIV&gt;BuildDate: "Nov 27 2011"&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Code:&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imInput;&lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// &lt;SPAN style="font-size: 13.008px;"&gt;2048 x 2048,&amp;nbsp;&lt;/SPAN&gt;8-bit image loaded from hdd&lt;/DIV&gt;

&lt;DIV&gt;&lt;SPAN style="font-size: 13.008px;"&gt;CGenericImage imInput_32f; // input image converted to Ipp32f&lt;/SPAN&gt;&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imTemplate_32f; &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// generated gaussian template, 9x9&lt;/DIV&gt;

&lt;DIV&gt;CGenericImage imOutput_32f; &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;// score image&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;IppiSize szImage &lt;SPAN style="white-space:pre"&gt; &lt;/SPAN&gt;= { imInput.m_nWidth, imInput.m_nHeight };&lt;/DIV&gt;

&lt;DIV&gt;IppiSize szTemplate = { imTemplate_32f.m_nWidth, imTemplate_32f.m_nHeight };&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;st = ippiConvert_8u32f_C1R((Ipp8u*)imInput.m_pData, imInput.m_nStep, (Ipp32f*)imInput_32f.m_pData, imInput_32f.m_nStep, szImage);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;st = ippiCrossCorrSame_NormLevel_32f_C1R((Ipp32f*)imInput_32f.m_pData, imInput_32f.m_nStep, szImage&lt;/DIV&gt;

&lt;DIV&gt;, (Ipp32f*)imTemplate_32f.m_pData, imTemplate_32f.m_nStep, szTemplate&lt;/DIV&gt;

&lt;DIV&gt;, (Ipp32f*)imOutput_32f.m_pData, imOutput_32f.m_nStep);&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;---------------------------------------&lt;/DIV&gt;</description>
      <pubDate>Mon, 03 Sep 2018 09:06:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179654#M27137</guid>
      <dc:creator>Bogdan_B_1</dc:creator>
      <dc:date>2018-09-03T09:06:34Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179655#M27138</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;May I know how did you link your program against IPP?&lt;/P&gt;

&lt;P&gt;Did you link the program against multi-threading version of 2018?&lt;/P&gt;</description>
      <pubDate>Tue, 04 Sep 2018 07:53:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179655#M27138</guid>
      <dc:creator>Jing_Xu</dc:creator>
      <dc:date>2018-09-04T07:53:16Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179656#M27139</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I have solved the "mystery".&lt;/P&gt;

&lt;P&gt;"Intel IPP 8.0 continues the process of deprecating threading inside Intel IPP functions that was started in version 7.1. Though not installed by default, the threaded libraries can be installed so code written with these libraries will still work as before. However, moving to external threading is recommended."&lt;/P&gt;

&lt;P&gt;It's funny how I was able to find this information only after this topic was created :)&lt;/P&gt;</description>
      <pubDate>Tue, 04 Sep 2018 10:57:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179656#M27139</guid>
      <dc:creator>Bogdan_B_1</dc:creator>
      <dc:date>2018-09-04T10:57:42Z</dc:date>
    </item>
    <item>
      <title>Hi,
Bravo.
Good to hear that.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179657#M27140</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Bravo.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Good to hear that.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Sep 2018 23:35:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Time-performance-ippiCrossCorrNorm-32f-C1R/m-p/1179657#M27140</guid>
      <dc:creator>Jing_Xu</dc:creator>
      <dc:date>2018-09-05T23:35:29Z</dc:date>
    </item>
  </channel>
</rss>

