<?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 MKL speed performance vs. IPP in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837260#M6145</link>
    <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I have a very similar question regarding the performance of the eigenvalue and eigenvector calculation (IPPM vs. MKL). Which library is recommended for an input size of the matrix between 20 and 40?&lt;BR /&gt;&lt;BR /&gt;Thank you and best regards,&lt;BR /&gt;Tom</description>
    <pubDate>Tue, 20 Apr 2010 08:56:02 GMT</pubDate>
    <dc:creator>Thomas_B_3</dc:creator>
    <dc:date>2010-04-20T08:56:02Z</dc:date>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837257#M6142</link>
      <description>I have noticed that a number of the vector routines in IPP are significantly faster than their counterparts in MKL. For example on a core i7 processor I have noted that the ippsMul_32fc() function from IPP is about 45% faster than the vcMul() routine from MKL.&lt;BR /&gt;&lt;BR /&gt;Is there a reasonable explanation for this?&lt;BR /&gt;&lt;BR /&gt;BTW: I am comparing MKL 10.2.2 and IPP 6.1.2&lt;BR /&gt;&lt;BR /&gt;-Simon</description>
      <pubDate>Mon, 19 Apr 2010 21:44:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837257#M6142</guid>
      <dc:creator>sgwood</dc:creator>
      <dc:date>2010-04-19T21:44:43Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837258#M6143</link>
      <description>A more definite example might be required. For example, you probably are calling IPP by C interface and getting faster results (at least for short vectors) than you could get by a Fortran-compatible call to MKL, certainly faster than a cblas wrapper.</description>
      <pubDate>Mon, 19 Apr 2010 23:21:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837258#M6143</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2010-04-19T23:21:28Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837259#M6144</link>
      <description>Simon.&lt;DIV&gt;the main question in such cases are - the input size?&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Apr 2010 06:30:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837259#M6144</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-20T06:30:33Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837260#M6145</link>
      <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I have a very similar question regarding the performance of the eigenvalue and eigenvector calculation (IPPM vs. MKL). Which library is recommended for an input size of the matrix between 20 and 40?&lt;BR /&gt;&lt;BR /&gt;Thank you and best regards,&lt;BR /&gt;Tom</description>
      <pubDate>Tue, 20 Apr 2010 08:56:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837260#M6145</guid>
      <dc:creator>Thomas_B_3</dc:creator>
      <dc:date>2010-04-20T08:56:02Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837261#M6146</link>
      <description>Tom,&lt;DIV&gt;for similar sizes I would recommend to use IPP (non-threaded version) first of all.&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Apr 2010 10:53:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837261#M6146</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-20T10:53:40Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837262#M6147</link>
      <description>Gennady,&lt;BR /&gt;&lt;BR /&gt;thank you for your quick reply.&lt;BR /&gt;&lt;BR /&gt;Tom</description>
      <pubDate>Tue, 20 Apr 2010 12:45:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837262#M6147</guid>
      <dc:creator>Thomas_B_3</dc:creator>
      <dc:date>2010-04-20T12:45:14Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837263#M6148</link>
      <description>Gennady,&lt;BR /&gt;The input size in my example is 32768 complex&lt;FLOAT&gt; elements. Here is an example of how my code looks.&lt;BR /&gt;&lt;BR /&gt;=======================================================================&lt;BR /&gt;&lt;BR /&gt;complex&lt;FLOAT&gt; x1[32768];&lt;BR /&gt;complex&lt;FLOAT&gt; x2[32768];&lt;BR /&gt;complex&lt;FLOAT&gt; y1[32768];&lt;BR /&gt;complex&lt;FLOAT&gt; y2[32768];&lt;BR /&gt;&lt;BR /&gt;// Fill the x1 and x2 arrays with random data, Uniformly distributed on [-10000,10000]. &lt;BR /&gt;// This is similar to the MKL benchmark test vectors.&lt;BR /&gt;// Also note that I have a version of rand() that returns a unfirom RV on [0,1].&lt;BR /&gt;&lt;BR /&gt;for(int ii=0; ii&amp;lt;32768; ii++)&lt;BR /&gt;{&lt;BR /&gt; r1I = -10000 + 20000 * rand();&lt;BR /&gt; r1Q = -10000 + 20000 * rand();&lt;BR /&gt; r2I = -10000 + 20000 * rand();&lt;BR /&gt;
 r2Q = -10000 + 20000 * rand(); &lt;BR /&gt; x1[ii] = complex&lt;FLOAT&gt;(r1I,r1Q);&lt;BR /&gt; x2[ii] = complex&lt;FLOAT&gt;(r2I,r2Q);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;// Now make the call to IPP&lt;BR /&gt;// The first call "warms" up the cache. Time the second call&lt;BR /&gt;ippsMul_32fc((Ipp32fc *)(&amp;amp;x1[0]), (Ipp32fc *)(&amp;amp;x2[0]), (Ipp32fc *)(&amp;amp;y[0]), 32768);&lt;BR /&gt;&lt;BR /&gt;// your "tic" timer here&lt;BR /&gt;ippsMul_32fc((Ipp32fc *)(&amp;amp;x1[0]), (Ipp32fc *)(&amp;amp;x2[0]), (Ipp32fc *)(&amp;amp;y[0]), 32768);&lt;BR /&gt;// your "toc" timer here&lt;BR /&gt;&lt;BR /&gt;//&lt;BR /&gt;// Now repeat the above for the MKL vector multiply routine&lt;BR /&gt;//&lt;BR /&gt;vcMul(32768,x1,x2,y);&lt;BR /&gt;&lt;BR /&gt;// your "tic" timer here&lt;BR /&gt;vcMul(32768,x1,x2,y);&lt;BR /&gt;// your "toc" timer here&lt;BR /&gt;&lt;BR /&gt;=======================================================================&lt;BR /&gt;&lt;BR /&gt;The above code in put in a main() routine. The compilation takes the form:&lt;BR /&gt;&lt;BR /&gt;icpc test.cpp -O3 -L/opt/intel/ipp/6.1.2.051/ia32/sharedlib -lipps -lippcore ...&lt;BR /&gt;&lt;BR /&gt;-Simon&lt;/FLOAT&gt;&lt;/FLOAT&gt;&lt;/FLOAT&gt;&lt;/FLOAT&gt;&lt;/FLOAT&gt;&lt;/FLOAT&gt;&lt;/FLOAT&gt;</description>
      <pubDate>Tue, 20 Apr 2010 13:04:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837263#M6148</guid>
      <dc:creator>sgwood</dc:creator>
      <dc:date>2010-04-20T13:04:20Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837264#M6149</link>
      <description>Simon,&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;MKL function vcMul() gives more accurate result by default than ippsMul_32fc().&lt;/P&gt;&lt;P&gt;In order to enable less accurate but faster function in MKL you can call vmlSetMode(VML_EP) before the call to vcMul().&lt;/P&gt;&lt;P&gt;In order to use more accurate functions in IPP you can check Fixed-Accuracy Arithmetic Functions domain. ippsMul_32fc_A24() will be as accurate as vcMul() in VML_HA (default) mode.&lt;BR /&gt;&lt;BR /&gt;- Ilya&lt;/P&gt;</description>
      <pubDate>Wed, 21 Apr 2010 10:53:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837264#M6149</guid>
      <dc:creator>Ilya_B_Intel</dc:creator>
      <dc:date>2010-04-21T10:53:09Z</dc:date>
    </item>
    <item>
      <title>MKL speed performance vs. IPP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837265#M6150</link>
      <description>Ilya,&lt;BR /&gt;&lt;BR /&gt;Excellent! Thanks for the explanation. I over looked that difference.&lt;BR /&gt;&lt;BR /&gt;-Simon</description>
      <pubDate>Fri, 30 Apr 2010 15:32:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-speed-performance-vs-IPP/m-p/837265#M6150</guid>
      <dc:creator>sgwood</dc:creator>
      <dc:date>2010-04-30T15:32:12Z</dc:date>
    </item>
  </channel>
</rss>

