<?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 Threading issue with ippiRemap() in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832037#M5639</link>
    <description>&lt;P&gt;it is threaded for 64f data type and lanczos interpolation only, for other parametersippiRemap functionality has not been threaded niether in 7.0.5 nor in 7.0.6 &lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Igor&lt;/P&gt;</description>
    <pubDate>Thu, 15 Dec 2011 14:58:28 GMT</pubDate>
    <dc:creator>igorastakhov</dc:creator>
    <dc:date>2011-12-15T14:58:28Z</dc:date>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832030#M5632</link>
      <description>&lt;P&gt;Does anyone know if ippiRemap() is multi-threaded in IPP version 7.0? It is not listed in Documentation/en_US/ipp/ThreadedFunctionsList.txt, but this list of IPP 7.0 bug fixes:&lt;/P&gt;&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-ipp-70-library-bug-fixes/" target="_blank"&gt;http://software.intel.com/en-us/articles/intel-ipp-70-library-bug-fixes/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;at least implies that ippiRemap() is multi-threaded (see DPD200084964).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This comes up because I'm actually seeing that the time to execute ippiRemap() on my data (4MP, 8-bit images) is *increasing* as I increase the number of threads allocated to IPP. If ippiRemap() is not threaded, I wouldn't expect a noticeable change in the runtime with more threads. Even if it is threaded, I wouldn't expect the runtime to *increase* with more threads. The increase is about 5% going from 1 to 2 threads, and about 40% (!) going from 2 to 4 threads on a CPU with four cores (four actual cores, I'm not counting hyperthreading).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone had a similar problem with ippiRemap()?&lt;/P&gt;</description>
      <pubDate>Fri, 29 Apr 2011 21:00:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832030#M5632</guid>
      <dc:creator>hapatrick</dc:creator>
      <dc:date>2011-04-29T21:00:25Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832031#M5633</link>
      <description>Yes, ippiRemap() is multi-threaded. There was a mistake in the documentation that did not include this function in the threaded functions list. I believe that documentation issue will be addressed in the next release.&lt;BR /&gt;&lt;BR /&gt;Regarding the increase in runtime as a result of threading: not all functions and/or data sets automatically benefit from threading. There is additional overhead associated with the OpenMP threading engine that can sometimes make things slower, especially if the data set size is small. A 4MP image is not very large, so you may, in fact, be experiencing issues with the overhead -- or you may be experiencing multiple threads forcing additional cache cycles. For example, depending on the size of your CPUs cache, a 4MP image could fit within the cache, but having multiple threads compete for cache resources might effectively reduce the efficiency of the cache hits... this is just one theory, others are also plausible.&lt;BR /&gt;&lt;BR /&gt;Please also look at these articles, which describe a sleep feature of OpenMP, which might also be interfering with your measurements (depends on how you are running the measurement tests):&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/high-cpu-usage-and-intel-ipp-threaded-function/"&gt;http://software.intel.com/en-us/articles/high-cpu-usage-and-intel-ipp-threaded-function/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/optaps/common/optaps_par_libs.htm"&gt;http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/optaps/common/optaps_par_libs.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;A few key points from the articles above:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;- Intermittently calling threaded IPP functions (e.g., 30 times a second) can cause overall performance to drop.&lt;BR /&gt;- After completing execution of a parallel region, threads wait for new parallel work to become available. After a certain period of time has elapsed, they stop waiting and sleep.&lt;BR /&gt;- The amount of time to wait before sleeping is set by the KMP_BLOCKTIME environment variable.&lt;BR /&gt;&lt;BR /&gt;You can control the number of threads by using the ippSetNumThreads() function. It might also be worth linking against the single-threaded static library to see what sort of performance you get there, to use a reference for one thread.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Paul&lt;/P&gt;</description>
      <pubDate>Fri, 29 Apr 2011 21:17:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832031#M5633</guid>
      <dc:creator>PaulF_IntelCorp</dc:creator>
      <dc:date>2011-04-29T21:17:38Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832032#M5634</link>
      <description>Hi Paul,&lt;BR /&gt;&lt;BR /&gt;Can you confirm which release(s) of IPP 7 should contain a multi-threded implementation of ippiRemap()? Looking at the list of bug fixes I see:&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;IPP v7.0 (12 Aug 2010)&lt;/SPAN&gt;&lt;BR /&gt;DPD200084964
Multi-thread ippiRemap, ippiDilate3x3, ippiErode3x3, ippiMorphReconstructDilate_32f_C1IR and ippiRotate.&lt;BR /&gt;&lt;BR /&gt;and &lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;IPP v7.0 update 2 (20 Jan 2011)&lt;/SPAN&gt;&lt;BR /&gt;DPD200084964 ippiResizeSqrPixel (antialiasing mode) and Remap/Rotate/RotateC/WarpAffine/Shear functions are now multi-&lt;BR /&gt;&lt;BR /&gt;(source: &lt;A href="http://software.intel.com/en-us/articles/intel-ipp-70-library-bug-fixes/)" target="_blank"&gt;http://software.intel.com/en-us/articles/intel-ipp-70-library-bug-fixes/)&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This seems to indicate that the same bug was fixed in two different releases, so I'm not clear if the multi-threaded version is in all releases of 7.0 or only in update 2 and later.&lt;BR /&gt;&lt;BR /&gt;I'm currently running update 1a and my timing results do &lt;B&gt;not &lt;/B&gt;seem to indicate that ippiRemap() is multi-threaded.</description>
      <pubDate>Fri, 13 May 2011 22:59:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832032#M5634</guid>
      <dc:creator>Griffin_Myers</dc:creator>
      <dc:date>2011-05-13T22:59:47Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832033#M5635</link>
      <description>Hello Griffin,&lt;BR /&gt;&lt;BR /&gt;They were threaded in 7.0.2, but I think they were not listed in the ThreadedFunctionsList.txt file until 7.0.4. So 7.0.2 contains the actual fix and 7.0.4 documents (externally) that fact.&lt;BR /&gt;&lt;BR /&gt;There were some related functions that were threaded in 7.0, I believe that is the reason for the confusion.&lt;BR /&gt;&lt;BR /&gt;Paul</description>
      <pubDate>Sat, 14 May 2011 01:33:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832033#M5635</guid>
      <dc:creator>PaulF_IntelCorp</dc:creator>
      <dc:date>2011-05-14T01:33:43Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832034#M5636</link>
      <description>Hi Paul,&lt;BR /&gt;&lt;BR /&gt;I have updated to 7.0.4 on 32-bit Windows and the ThreadedFunctionsList.txt still does &lt;SPAN style="text-decoration: underline;"&gt;not &lt;/SPAN&gt;indicate that ippiRemap() is threaded, nor do any of my tests show that ippiRemap() is using more that one thread.&lt;BR /&gt;&lt;BR /&gt;I have tried ippSetNumThreads() and the various KMP_XXXXX environment variable settings described in the referenced links. I have tried various image sizes and timed my test code and viewed processor utilitization with task manager and never do I get any indication that more than one thread is utilized.&lt;BR /&gt;&lt;BR /&gt;Could you please provide me with some sample code that will exhibit ippiRemap()'s multithreaded capabilities or could you confirm if multithreading is only expected to work under certain conditions (specific image sizes, etc.).&lt;BR /&gt;&lt;BR /&gt;As a point of reference, I do observe benefits from many other functions listed in ThreadedFunctionsList.txt, so I know that in general the multithreaded IPP functions work for me.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Griffin&lt;BR /&gt;</description>
      <pubDate>Fri, 27 May 2011 22:19:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832034#M5636</guid>
      <dc:creator>Griffin_Myers</dc:creator>
      <dc:date>2011-05-27T22:19:25Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832035#M5637</link>
      <description>Hi Griffin, 

Sorry for the confusion here. Our engineer owner noticed an error in a header file, and the threaded versions of the remap and affine functions don't give effect. The fix are planned to add into the next update release. 

Thanks,
Chao</description>
      <pubDate>Wed, 01 Jun 2011 17:22:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832035#M5637</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2011-06-01T17:22:07Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832036#M5638</link>
      <description>Hi Chao, could you please confirm that this issue (i.e. ippiRemap() is &lt;SPAN style="text-decoration: underline;"&gt;not &lt;/SPAN&gt;multithreaded as intended) was fixed in 7.0.5? I don't see any mention of it in the bug fix list, so I would like to know that it has been corrected before I upgrade to 7.0.5 and try it out.</description>
      <pubDate>Tue, 13 Dec 2011 21:22:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832036#M5638</guid>
      <dc:creator>Griffin_Myers</dc:creator>
      <dc:date>2011-12-13T21:22:17Z</dc:date>
    </item>
    <item>
      <title>Threading issue with ippiRemap()</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832037#M5639</link>
      <description>&lt;P&gt;it is threaded for 64f data type and lanczos interpolation only, for other parametersippiRemap functionality has not been threaded niether in 7.0.5 nor in 7.0.6 &lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Igor&lt;/P&gt;</description>
      <pubDate>Thu, 15 Dec 2011 14:58:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Threading-issue-with-ippiRemap/m-p/832037#M5639</guid>
      <dc:creator>igorastakhov</dc:creator>
      <dc:date>2011-12-15T14:58:28Z</dc:date>
    </item>
  </channel>
</rss>

