<?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 ippsWinKaiser is not thread safe in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589257#M28657</link>
    <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We found that the ippsWinKaiser_32f_I() method is not thread safe, an example is attached to this message.&lt;/P&gt;&lt;P&gt;In our example we create a sinus wave as input vector and run the ippsWinKaiser_32f_I() method and store the result as "expected" result. We then launch multiple threads running the ippsWinKaiser_32f_I()&amp;nbsp; method again with the same input vector and compare the "expected" result against the new computation. We abort the test routine if any result does not match.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The test program fails every time until we protect the call to ippsWinKaiser_32f_I() with a mutex. Without mutex the example always fails, with mutex all tests were good.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestions how to fix this or is this a bug?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Oliver&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;P.S.: ippsWinHann_32f_I() and ippsWinHamming_32f_I() are working as expected&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 15 Apr 2024 14:37:16 GMT</pubDate>
    <dc:creator>Oliver1971</dc:creator>
    <dc:date>2024-04-15T14:37:16Z</dc:date>
    <item>
      <title>ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589257#M28657</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We found that the ippsWinKaiser_32f_I() method is not thread safe, an example is attached to this message.&lt;/P&gt;&lt;P&gt;In our example we create a sinus wave as input vector and run the ippsWinKaiser_32f_I() method and store the result as "expected" result. We then launch multiple threads running the ippsWinKaiser_32f_I()&amp;nbsp; method again with the same input vector and compare the "expected" result against the new computation. We abort the test routine if any result does not match.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The test program fails every time until we protect the call to ippsWinKaiser_32f_I() with a mutex. Without mutex the example always fails, with mutex all tests were good.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestions how to fix this or is this a bug?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Oliver&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;P.S.: ippsWinHann_32f_I() and ippsWinHamming_32f_I() are working as expected&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Apr 2024 14:37:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589257#M28657</guid>
      <dc:creator>Oliver1971</dc:creator>
      <dc:date>2024-04-15T14:37:16Z</dc:date>
    </item>
    <item>
      <title>Re:ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589636#M28660</link>
      <description>&lt;P&gt;This is an unexpected behavior as IPP is not  internally threaded library.&lt;/P&gt;&lt;P&gt;I didn't run this example, but I see that you compare like as follows: &lt;STRONG&gt;computed != expected &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="ql-cursor"&gt;﻿&lt;/SPAN&gt;which is not correct in the case of floating point data.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 16 Apr 2024 12:40:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589636#M28660</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2024-04-16T12:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589650#M28661</link>
      <description>&lt;P&gt;Ok, I asked Microsofts KI for better comparision methods of two std vectors of floats:&lt;/P&gt;&lt;P&gt;bool compareVectors(const std::vector&amp;lt;float&amp;gt;&amp;amp;vec1, const std::vector&amp;lt;float&amp;gt;&amp;amp;vec2) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (vec1.size() != vec2.size()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; float epsilon = 0.1f;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (size_t i = 0; i &amp;lt; vec1.size(); ++i) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; if (std::abs(vec1[i] - vec2[i]) &amp;gt; epsilon) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now I observe the following difference (which disappears once I mutex lock the calls):&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Oliver1971_0-1713273565225.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/53834iB920105A86589683/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="Oliver1971_0-1713273565225.png" alt="Oliver1971_0-1713273565225.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Left expected (correct), right when error occurs. I even once saw an INF&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 13:19:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589650#M28661</guid>
      <dc:creator>Oliver1971</dc:creator>
      <dc:date>2024-04-16T13:19:56Z</dc:date>
    </item>
    <item>
      <title>Re: ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589660#M28662</link>
      <description>&lt;P&gt;Ok, I asked the KI how to properly compare two std::vectors of type float:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bool compareVectors(const std::vector&amp;lt;float&amp;gt;&amp;amp;vec1, const std::vector&amp;lt;float&amp;gt;&amp;amp;vec2) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (vec1.size() != vec2.size()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; float epsilon = 0.1f;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (size_t i = 0; i &amp;lt; vec1.size(); ++i) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; if (std::abs(vec1[i] - vec2[i]) &amp;gt; epsilon) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I still get the errors (left expected, right new computation):&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Oliver1971_0-1713275561758.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/53837i24B86AF48E9ADE65/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="Oliver1971_0-1713275561758.png" alt="Oliver1971_0-1713275561758.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 13:52:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589660#M28662</guid>
      <dc:creator>Oliver1971</dc:creator>
      <dc:date>2024-04-16T13:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589889#M28663</link>
      <description>&lt;P&gt;Oliver,&lt;/P&gt;
&lt;P&gt;yes, we have to confirmed that we see the same behavior as you reported.&lt;/P&gt;
&lt;P&gt;The problem will be escalated internally and we will keep you informed with the status.&lt;/P&gt;
&lt;P&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2024 07:47:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1589889#M28663</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2024-04-17T07:47:02Z</dc:date>
    </item>
    <item>
      <title>Re:ippsWinKaiser is not thread safe</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1636179#M28856</link>
      <description>&lt;P&gt;The fix will be available in an upcoming release.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We will no longer follow this post, if you still experience the same issue in a new release, please post a new one and link this one. ​&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 09 Oct 2024 01:45:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/ippsWinKaiser-is-not-thread-safe/m-p/1636179#M28856</guid>
      <dc:creator>Ruqiu_C_Intel</dc:creator>
      <dc:date>2024-10-09T01:45:16Z</dc:date>
    </item>
  </channel>
</rss>

