<?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 Incorrect Convolution (ippsConv_32f) in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764017#M84</link>
    <description>&lt;P&gt;I got incorrect convolution results from ippsConv_32f on Core i7-2600 (Sandy Bridge) machine. This does not happen on older CPU.&lt;BR /&gt;The length of the first input vector is 15 and the 2nd one is 10000.&lt;BR /&gt;Then, the output vector has zeros from index = 4096 to 4011, for example.&lt;BR /&gt;Also, it has zeros around index = 8192. Other values are correct.&lt;BR /&gt;IppStatus shows no error.&lt;/P&gt;&lt;P&gt;Does anyone see a similar problem? &lt;/P&gt;&lt;P&gt;Following is my test code (C++)&lt;/P&gt;&lt;P&gt;#define PI 3.14159265358979324&lt;/P&gt;&lt;P&gt;void main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P style="padding-left: 20pt;"&gt;// Define vector lengths.&lt;BR /&gt;int len1 = 15; // Input vector 1&lt;BR /&gt;int len2 = 10000; // Input vector 2&lt;BR /&gt;int dstLen = len1 + len2 - 1; // Output vector&lt;BR /&gt;&lt;BR /&gt;// Allocate memory space&lt;BR /&gt;float* src1 = new float[len1];&lt;BR /&gt;float* src2 = new float[len2];&lt;BR /&gt;float* dst = new float[dstLen];&lt;BR /&gt;&lt;BR /&gt;// Initialize input vectors&lt;BR /&gt;for (int i = 0; i &amp;lt; len1; i++ )&lt;BR /&gt; src1&lt;I&gt; = 0.0f;&lt;BR /&gt;int impulseLocation = 6; // Set the impulse location manually.&lt;BR /&gt;src1[impulseLocation] = 1.0f;&lt;/I&gt;&lt;/P&gt;&lt;P style="padding-left: 20pt;"&gt;for (int i = 0; i &amp;lt; len2; i++ )&lt;BR /&gt; src2&lt;I&gt; = (float)cos(i * PI / 8);&lt;BR /&gt;IppStatus s = ippsConv_32f(src1, len1, src2, len2, dst);&lt;BR /&gt;&lt;BR /&gt;// Observe the output vector here&lt;BR /&gt;&lt;BR /&gt;// Free up memory space&lt;BR /&gt;delete [] dst;&lt;BR /&gt;delete [] src2;&lt;BR /&gt;delete [] src1;&lt;BR /&gt;&lt;BR /&gt;}&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Other information:&lt;BR /&gt;Windows 7 64 bit&lt;BR /&gt;Visual Studio 2010 Professional&lt;BR /&gt;IPP information (ippcore-7.0.dll)&lt;BR /&gt;File version 7.0.2.05.1049&lt;BR /&gt;Product version 7.0 build 205.85&lt;/P&gt;&lt;P&gt;Thank you&lt;BR /&gt;Shige Torin&lt;/P&gt;</description>
    <pubDate>Tue, 01 May 2012 21:34:55 GMT</pubDate>
    <dc:creator>storin</dc:creator>
    <dc:date>2012-05-01T21:34:55Z</dc:date>
    <item>
      <title>Incorrect Convolution (ippsConv_32f)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764017#M84</link>
      <description>&lt;P&gt;I got incorrect convolution results from ippsConv_32f on Core i7-2600 (Sandy Bridge) machine. This does not happen on older CPU.&lt;BR /&gt;The length of the first input vector is 15 and the 2nd one is 10000.&lt;BR /&gt;Then, the output vector has zeros from index = 4096 to 4011, for example.&lt;BR /&gt;Also, it has zeros around index = 8192. Other values are correct.&lt;BR /&gt;IppStatus shows no error.&lt;/P&gt;&lt;P&gt;Does anyone see a similar problem? &lt;/P&gt;&lt;P&gt;Following is my test code (C++)&lt;/P&gt;&lt;P&gt;#define PI 3.14159265358979324&lt;/P&gt;&lt;P&gt;void main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P style="padding-left: 20pt;"&gt;// Define vector lengths.&lt;BR /&gt;int len1 = 15; // Input vector 1&lt;BR /&gt;int len2 = 10000; // Input vector 2&lt;BR /&gt;int dstLen = len1 + len2 - 1; // Output vector&lt;BR /&gt;&lt;BR /&gt;// Allocate memory space&lt;BR /&gt;float* src1 = new float[len1];&lt;BR /&gt;float* src2 = new float[len2];&lt;BR /&gt;float* dst = new float[dstLen];&lt;BR /&gt;&lt;BR /&gt;// Initialize input vectors&lt;BR /&gt;for (int i = 0; i &amp;lt; len1; i++ )&lt;BR /&gt; src1&lt;I&gt; = 0.0f;&lt;BR /&gt;int impulseLocation = 6; // Set the impulse location manually.&lt;BR /&gt;src1[impulseLocation] = 1.0f;&lt;/I&gt;&lt;/P&gt;&lt;P style="padding-left: 20pt;"&gt;for (int i = 0; i &amp;lt; len2; i++ )&lt;BR /&gt; src2&lt;I&gt; = (float)cos(i * PI / 8);&lt;BR /&gt;IppStatus s = ippsConv_32f(src1, len1, src2, len2, dst);&lt;BR /&gt;&lt;BR /&gt;// Observe the output vector here&lt;BR /&gt;&lt;BR /&gt;// Free up memory space&lt;BR /&gt;delete [] dst;&lt;BR /&gt;delete [] src2;&lt;BR /&gt;delete [] src1;&lt;BR /&gt;&lt;BR /&gt;}&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Other information:&lt;BR /&gt;Windows 7 64 bit&lt;BR /&gt;Visual Studio 2010 Professional&lt;BR /&gt;IPP information (ippcore-7.0.dll)&lt;BR /&gt;File version 7.0.2.05.1049&lt;BR /&gt;Product version 7.0 build 205.85&lt;/P&gt;&lt;P&gt;Thank you&lt;BR /&gt;Shige Torin&lt;/P&gt;</description>
      <pubDate>Tue, 01 May 2012 21:34:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764017#M84</guid>
      <dc:creator>storin</dc:creator>
      <dc:date>2012-05-01T21:34:55Z</dc:date>
    </item>
    <item>
      <title>Incorrect Convolution (ippsConv_32f)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764018#M85</link>
      <description>&lt;P&gt;Shige, &lt;/P&gt;&lt;P&gt;Have you got the chance to check the latest release? I noticed a similar problem was fixed since IPP 7.0 update 6 release. &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao&lt;/P&gt;</description>
      <pubDate>Fri, 04 May 2012 06:00:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764018#M85</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2012-05-04T06:00:06Z</dc:date>
    </item>
    <item>
      <title>Incorrect Convolution (ippsConv_32f)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764019#M86</link>
      <description>&lt;P&gt;Hello Chao,&lt;/P&gt;&lt;P&gt;Thank you for your advice! The convolution worked fine for both 32 bit and 64 code after updating IPP to 7.07.&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;Shige&lt;/P&gt;</description>
      <pubDate>Fri, 04 May 2012 22:36:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Incorrect-Convolution-ippsConv-32f/m-p/764019#M86</guid>
      <dc:creator>storin</dc:creator>
      <dc:date>2012-05-04T22:36:55Z</dc:date>
    </item>
  </channel>
</rss>

