<?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 Some additional technical in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781398#M260</link>
    <description>Some additional technical details are provided in a thread with the same 'Forum topic' on TBB forum. Please take a look.</description>
    <pubDate>Sat, 17 Nov 2012 16:42:08 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2012-11-17T16:42:08Z</dc:date>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781390#M252</link>
      <description>I am trying to use TBB and IPP together to gain speed performance.&lt;BR /&gt;I use TBB todo filtering with IPPfunction "ippsFIR_32fc", each thead works on portion of data. But the results are quite strange. I can see a lot of glitch (very large values)into the output data.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The code is as following:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;parallel_for(tbb::blocked_range&lt;SIZE_T&gt; (0, inV.Length, inV.Length/1.5), tbb_parallel_fir_task((Ipp32fc *)inV.Data, filterCoefCP, filterVP-&amp;gt;Length, (Ipp32fc *)outVP-&amp;gt;Data, m_stateP));&lt;/SIZE_T&gt;&lt;/P&gt;&lt;P&gt;void operator() (const blocked_range&lt;SIZE_T&gt;&amp;amp; r) const &lt;BR /&gt;{&lt;/SIZE_T&gt;&lt;/P&gt;&lt;P&gt;Int begin = r.begin();&lt;/P&gt;&lt;P&gt;Int end = r.end();&lt;/P&gt;&lt;P&gt;Int nIters = end - begin;&lt;/P&gt;&lt;P&gt;ippsFIR_32fc(m_inP + begin, m_outP + begin, nIters, m_stateP); &lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&lt;BR /&gt;If I remove the IPP function "ippsFIR_32fc" with "ippsCopy_32f", the multiple thread copy functionality works fine.&lt;BR /&gt;Could you please help me?&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jul 2012 08:51:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781390#M252</guid>
      <dc:creator>caosun</dc:creator>
      <dc:date>2012-07-19T08:51:22Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781391#M253</link>
      <description>IPP still uses OpenMP for parallelism, invoking strange behaviors when inside parallel_for, as there is no coordination between the respective run-time libraries. If you can link a non-threaded IPP library, or specify that IPP should use just 1 thread, you may have better luck. If that works, you could experiment with cases where the product of the number of TBB threads and number of OpenMP threads fits your platform, while ensuring that the various TBB threads don't cause IPP to write more than once in each output data region. If you want expert answers, you might try the TBB forum.</description>
      <pubDate>Mon, 23 Jul 2012 14:48:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781391#M253</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-07-23T14:48:39Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781392#M254</link>
      <description>Thank you for your reply, TimP.&lt;DIV&gt;I have already specify IPP use only 1 thread. And from Intel's docuement, it should be thread safe to use Intel TBB with IPP. I can understand if there is any performance degradation, but it should not be wrong results.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Could you please explain more on your comments: 'various TBB threads don't cause IPP to write more than once in each output data region'? How could I control to write only once for various TBB threads?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Another question is: For float point function, I did not see this type of FIR: complex input data and real filter coefficients. I indeed see complex input data and complex filter coefficients OR real input data and real filter coefficients.&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jul 2012 01:37:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781392#M254</guid>
      <dc:creator>caosun</dc:creator>
      <dc:date>2012-07-24T01:37:15Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781393#M255</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1343099654890="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=336549" href="https://community.intel.com/en-us/profile/336549/" class="basic"&gt;TimP (Intel)&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;IPP still uses OpenMP for parallelism, invoking strange behaviors when inside parallel_for, as there is no coordination between the respective run-time libraries. If you can link a non-threaded IPP library, or specify that IPP should use just 1 thread, you may have better luck...&lt;/I&gt;&lt;/DIV&gt;&lt;BR /&gt;There is a post in one of recent threadson &lt;STRONG&gt;IPP forum&lt;/STRONG&gt; that &lt;STRONG&gt;IPP&lt;/STRONG&gt; team is cosidering / planing a release of non-threaded&lt;BR /&gt;version of &lt;STRONG&gt;IPP&lt;/STRONG&gt; library. All threading will be a responsibility of users / developersof &lt;STRONG&gt;IPP&lt;/STRONG&gt; library.&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jul 2012 03:14:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781393#M255</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-07-24T03:14:35Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781394#M256</link>
      <description>If you're asking questions about how to choose between MKL and IPP, one of those forums would get you more expert advice. MKL has a wide variety of float and double functions, while IPP supports additional data types. &lt;BR /&gt;It may be entirely reasonable to use MKL sequential (non-threaded) functions in a tbb parallel region. The usual reason would be that you get better parallelism by running simultaneous independent analyses than by threading one analysis at a time. I don't know about the IPP equivalent.&lt;BR /&gt;You can't get consistent results with threading if multiple threads are trying to write the same array sections. That's called a race condition, where you don't know which thread will have the final say, and the thread which gets there last will be delayed waiting for earlier threads to complete their access.</description>
      <pubDate>Tue, 24 Jul 2012 03:16:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781394#M256</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-07-24T03:16:39Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781395#M257</link>
      <description>Thank you, TimP. I will post them to Both TBB and IPP forum for more information.</description>
      <pubDate>Tue, 24 Jul 2012 09:58:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781395#M257</guid>
      <dc:creator>caosun</dc:creator>
      <dc:date>2012-07-24T09:58:14Z</dc:date>
    </item>
    <item>
      <title>Questions on using TBB and IPP together</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781396#M258</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1343178960265="61" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=353541" href="https://community.intel.com/en-us/profile/353541/" class="basic"&gt;Sergey Kostrov&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;&lt;EM&gt;Quoting &lt;/EM&gt;&lt;A jquery1343178960265="62" jquery1343099654890="60" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=336549" href="https://community.intel.com/en-us/profile/336549/" class="basic"&gt;&lt;EM&gt;TimP (Intel)&lt;/EM&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;IPP still uses OpenMP for parallelism, invoking strange behaviors when inside parallel_for, as there is no coordination between the respective run-time libraries. If you can link a non-threaded IPP library, or specify that IPP should use just 1 thread, you may have better luck...&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;EM&gt;There is a post in one of recent threadson &lt;STRONG&gt;IPP forum&lt;/STRONG&gt; that &lt;/EM&gt;&lt;STRONG&gt;IPP team is cosidering / planing a release of non-threaded&lt;BR /&gt;version of IPP library&lt;/STRONG&gt;&lt;EM&gt;. All threading will be a responsibility of users / developersof &lt;STRONG&gt;IPP&lt;/STRONG&gt; library.&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;Here is a link to a post:&lt;BR /&gt;&lt;BR /&gt; &lt;A href="http://software.intel.com/en-us/forums/showpost.php?p=189800"&gt;http://software.intel.com/en-us/forums/showpost.php?p=189800&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; ...Another reason is that as there are more and more multi-threading methods used by our users, we&lt;BR /&gt; &lt;SPAN style="text-decoration: underline;"&gt;plan to remove the internal threading of IPP functions&lt;/SPAN&gt;so that user canusesuitable multi-threadsaccording&lt;BR /&gt; to their requirements...&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jul 2012 01:13:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781396#M258</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-07-25T01:13:03Z</dc:date>
    </item>
    <item>
      <title>You should use serial IPP</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781397#M259</link>
      <description>You should use serial IPP functions with TBB.. I don't know details however.

A side note: what's a strange grainsize "inV.Length/1.5"! Do you want to parallel only on two threads?</description>
      <pubDate>Tue, 23 Oct 2012 14:32:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781397#M259</guid>
      <dc:creator>sureshgupta22</dc:creator>
      <dc:date>2012-10-23T14:32:48Z</dc:date>
    </item>
    <item>
      <title>Some additional technical</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781398#M260</link>
      <description>Some additional technical details are provided in a thread with the same 'Forum topic' on TBB forum. Please take a look.</description>
      <pubDate>Sat, 17 Nov 2012 16:42:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781398#M260</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-11-17T16:42:08Z</dc:date>
    </item>
    <item>
      <title>Quote:Sergey Kostrov wrote:</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781399#M261</link>
      <description>&lt;BLOCKQUOTE&gt;Sergey Kostrov wrote:&lt;BR /&gt;&lt;P&gt;Some additional technical details are provided in a thread with the same 'Forum topic' on TBB forum. Please take a look.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
Thank you, Sergey.
Could you please provide a link?</description>
      <pubDate>Mon, 19 Nov 2012 01:56:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781399#M261</guid>
      <dc:creator>caosun</dc:creator>
      <dc:date>2012-11-19T01:56:03Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...Could you please provide</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781400#M262</link>
      <description>&amp;gt;&amp;gt;...Could you please provide a link?

Please take a look at:

software.intel.com/en-us/forums/topic/329664
software.intel.com/en-us/forums/topic/277266</description>
      <pubDate>Mon, 19 Nov 2012 04:46:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Questions-on-using-TBB-and-IPP-together/m-p/781400#M262</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-11-19T04:46:00Z</dc:date>
    </item>
  </channel>
</rss>

