<?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 Application level threading in IPP in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783230#M1720</link>
    <description>I posted this question earlier, but then realized I it belonged in the IPP forum instead. I apologize for the duplication:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;I am using IPP 7.0 to write some code that will perform a series of 2D image filtering operations on images of various sizes (mostly 128 by 128). I have two versions of the code: one that leaves the threading up to IPP (internal to the DFT call, for example), and another in which I handle the threading myself at the application level. I have found that the IPP threading does not provide any significant speedup for the small sized DFT operations (like 128 by 128) and so I really want to use application level threading. When I do this, however, the final images are not correct. If I run the two threads serially, things work fine, but when I run them in parallel the result is wrong. I suspect that I need to provide more information than what I have provided, but I'm not sure what ype of information would be most useful. The IPP functions I am using are as follows:&lt;/P&gt;&lt;P&gt;ippiDFTFwd_RToPack_32f_C1IR&lt;BR /&gt;ippsRealToCplx_32f&lt;BR /&gt;ippiCplxExtendToPack_32fc32f_C1R&lt;BR /&gt;ippiMulPack_32f_C1IR&lt;BR /&gt;ippiDFTInv_PackToR_32f_C1IR&lt;/P&gt;&lt;P&gt;I tried simplifying the code somewhat by just doing the DFT, then zeroing out the DC component and then doing the InvDFT. I still got the same result (two threads running in parallel give the wrong answer, while two threads running serially give the correct answer). In this simple case, the only IPP functions I use are as follows:&lt;/P&gt;&lt;P&gt;ippiDFTFwd_RToPack_32f_C1IR&lt;BR /&gt;ippiDFTInv_PackToR_32f_C1IR&lt;BR /&gt;&lt;BR /&gt;Please let me know what other information I can provide that might help in diagnosing this.&lt;/P&gt;&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
    <pubDate>Wed, 17 Nov 2010 22:01:49 GMT</pubDate>
    <dc:creator>packj</dc:creator>
    <dc:date>2010-11-17T22:01:49Z</dc:date>
    <item>
      <title>Application level threading in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783230#M1720</link>
      <description>I posted this question earlier, but then realized I it belonged in the IPP forum instead. I apologize for the duplication:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;I am using IPP 7.0 to write some code that will perform a series of 2D image filtering operations on images of various sizes (mostly 128 by 128). I have two versions of the code: one that leaves the threading up to IPP (internal to the DFT call, for example), and another in which I handle the threading myself at the application level. I have found that the IPP threading does not provide any significant speedup for the small sized DFT operations (like 128 by 128) and so I really want to use application level threading. When I do this, however, the final images are not correct. If I run the two threads serially, things work fine, but when I run them in parallel the result is wrong. I suspect that I need to provide more information than what I have provided, but I'm not sure what ype of information would be most useful. The IPP functions I am using are as follows:&lt;/P&gt;&lt;P&gt;ippiDFTFwd_RToPack_32f_C1IR&lt;BR /&gt;ippsRealToCplx_32f&lt;BR /&gt;ippiCplxExtendToPack_32fc32f_C1R&lt;BR /&gt;ippiMulPack_32f_C1IR&lt;BR /&gt;ippiDFTInv_PackToR_32f_C1IR&lt;/P&gt;&lt;P&gt;I tried simplifying the code somewhat by just doing the DFT, then zeroing out the DC component and then doing the InvDFT. I still got the same result (two threads running in parallel give the wrong answer, while two threads running serially give the correct answer). In this simple case, the only IPP functions I use are as follows:&lt;/P&gt;&lt;P&gt;ippiDFTFwd_RToPack_32f_C1IR&lt;BR /&gt;ippiDFTInv_PackToR_32f_C1IR&lt;BR /&gt;&lt;BR /&gt;Please let me know what other information I can provide that might help in diagnosing this.&lt;/P&gt;&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Wed, 17 Nov 2010 22:01:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783230#M1720</guid>
      <dc:creator>packj</dc:creator>
      <dc:date>2010-11-17T22:01:49Z</dc:date>
    </item>
    <item>
      <title>Application level threading in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783231#M1721</link>
      <description>Nevermind... it was my error. I think I have it working correctly now.&lt;BR /&gt;</description>
      <pubDate>Wed, 17 Nov 2010 22:25:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783231#M1721</guid>
      <dc:creator>packj</dc:creator>
      <dc:date>2010-11-17T22:25:18Z</dc:date>
    </item>
    <item>
      <title>Application level threading in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783232#M1722</link>
      <description>&lt;BR /&gt;Hello, &lt;BR /&gt;&lt;BR /&gt;Glad to know you find the problem. Feel free to come to this forum to discuss your problems. &lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Chao</description>
      <pubDate>Thu, 18 Nov 2010 06:10:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Application-level-threading-in-IPP/m-p/783232#M1722</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-11-18T06:10:31Z</dc:date>
    </item>
  </channel>
</rss>

