<?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 Re: IEEE 754 Compliance in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902496#M11362</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
matlab, of course, uses double precision BLAS. If you use float data types, IEEE754 requires that you get different results.&lt;BR /&gt;</description>
    <pubDate>Wed, 18 Feb 2009 14:33:14 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2009-02-18T14:33:14Z</dc:date>
    <item>
      <title>IEEE 754 Compliance</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902493#M11359</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Does the BLAS of the Intel MKL comply with the IEEE 754 standard ? If not, can you tell how big the ulps or relative errors are ?&lt;BR /&gt;&lt;BR /&gt;Thx in advance.</description>
      <pubDate>Tue, 17 Feb 2009 13:57:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902493#M11359</guid>
      <dc:creator>sicb0161</dc:creator>
      <dc:date>2009-02-17T13:57:08Z</dc:date>
    </item>
    <item>
      <title>Re: IEEE 754 Compliance</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902494#M11360</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/260197"&gt;sicb0161&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Does the BLAS of the Intel MKL comply with the IEEE 754 standard ? If not, can you tell how big the ulps or relative errors are ?&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
You control in your application whether you are running with gradual underflow enabled, in case that bears on your question. The question about relative errors would make little sense to me except with respect to a specific test case.&lt;BR /&gt;While the BLAS is functionally the same as what you get with the netlib source code, I expect there are optimizations which batch sums, for example, usually giving more accuracy than the original. Where the netlib source skips operations on zeros, MKL may perform those operations.&lt;BR /&gt;Depending on the BLAS function, you may find vectorized code which was compiled with the equivalent of ifort -noprec-div -noprec-sqrt, which could produce variations of 1 ULP from IEEE 754, and those could grow, e.g. with ill-conditioned matrices.&lt;BR /&gt;To summarize, if this is important, you may want to run your test cases with netlib source compiled with the options you consider important for IEEE compliance, and compare with MKL results.&lt;BR /&gt;</description>
      <pubDate>Tue, 17 Feb 2009 16:43:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902494#M11360</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-02-17T16:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: IEEE 754 Compliance</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902495#M11361</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Thx for your answer,&lt;BR /&gt;&lt;BR /&gt;however, when transforming Matlab code to C Code with MKL BLAS , I get different results. To be more precise, I have rebuilt the LSQR method. In the first iteration, there is almost no error (rel error ~ 10e-7). After few iteration steps, there is a noticable error.&lt;BR /&gt;&lt;BR /&gt;I am just wondering if there is such a non compliance.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
You control in your application whether you are running with gradual underflow enabled, in case that bears on your question. The question about relative errors would make little sense to me except with respect to a specific test case.&lt;BR /&gt;While the BLAS is functionally the same as what you get with the netlib source code, I expect there are optimizations which batch sums, for example, usually giving more accuracy than the original. Where the netlib source skips operations on zeros, MKL may perform those operations.&lt;BR /&gt;Depending on the BLAS function, you may find vectorized code which was compiled with the equivalent of ifort -noprec-div -noprec-sqrt, which could produce variations of 1 ULP from IEEE 754, and those could grow, e.g. with ill-conditioned matrices.&lt;BR /&gt;To summarize, if this is important, you may want to run your test cases with netlib source compiled with the options you consider important for IEEE compliance, and compare with MKL results.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Wed, 18 Feb 2009 09:33:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902495#M11361</guid>
      <dc:creator>sicb0161</dc:creator>
      <dc:date>2009-02-18T09:33:59Z</dc:date>
    </item>
    <item>
      <title>Re: IEEE 754 Compliance</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902496#M11362</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
matlab, of course, uses double precision BLAS. If you use float data types, IEEE754 requires that you get different results.&lt;BR /&gt;</description>
      <pubDate>Wed, 18 Feb 2009 14:33:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902496#M11362</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-02-18T14:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: IEEE 754 Compliance</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902497#M11363</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; matlab, of course, uses double precision BLAS. If you use float data types, IEEE754 requires that you get different results.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;I of course converted my data into float data types. &lt;BR /&gt;</description>
      <pubDate>Thu, 19 Feb 2009 09:40:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/IEEE-754-Compliance/m-p/902497#M11363</guid>
      <dc:creator>sicb0161</dc:creator>
      <dc:date>2009-02-19T09:40:46Z</dc:date>
    </item>
  </channel>
</rss>

