<?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 Faster Logarithms in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Faster-Logarithms/m-p/895232#M10844</link>
    <description>For my personal use I have implemented routines to compute natural logarithms on vectors in single precision. They are faster than the MKL "EP" version and essentially as accurate (ulp&amp;lt;0.95 vs. ulp&amp;lt;0.88) as the MKL "LA" version.&lt;BR /&gt;&lt;BR /&gt;Basic algorithm is a 11th order optimal polynomial for 0.75&lt;X&gt;&amp;lt;1.5, which means there are no tables. Only 240 bytes of memory are needed to store the constants.&lt;BR /&gt;&lt;BR /&gt;The functions are:&lt;BR /&gt;&lt;BR /&gt;//for large vectors &lt;BR /&gt;void log( float* y, float* x, long int n );&lt;BR /&gt;&lt;BR /&gt;//for small vectors&lt;BR /&gt;__v4sf log( __v4sf x );&lt;BR /&gt;&lt;BR /&gt;which you can get from here:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://arithmex.com/files/vlog_check.tar.gz" target="_blank"&gt;http://arithmex.com/files/vlog_check.tar.gz&lt;/A&gt;&lt;BR /&gt;(compiles on 64-bit linux with g++-4.2.1 )&lt;BR /&gt;&lt;BR /&gt;It is obvious that a similar speed-up for 'sin', 'cos', 'exp', etc. can also be achieved. I also think it is possible to significantly speed-up the double precision versions as well, as every extra term in the series only adds 0.25 cycles/element, i.e. going from 11th to 21st order polynomial only adds 2.5 cycles/element, so I'd expect a double precision version to complete in about 12 cycles.&lt;BR /&gt;&lt;BR /&gt;Personally I don't need these functions or the higher precision, but if anyone is interested...I'm for part-time hire. And because I really, really enjoy doing stuff like this, I'm a bargain.&lt;/X&gt;</description>
    <pubDate>Wed, 30 Apr 2008 12:57:14 GMT</pubDate>
    <dc:creator>hrbattenfeld</dc:creator>
    <dc:date>2008-04-30T12:57:14Z</dc:date>
    <item>
      <title>Faster Logarithms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Faster-Logarithms/m-p/895232#M10844</link>
      <description>For my personal use I have implemented routines to compute natural logarithms on vectors in single precision. They are faster than the MKL "EP" version and essentially as accurate (ulp&amp;lt;0.95 vs. ulp&amp;lt;0.88) as the MKL "LA" version.&lt;BR /&gt;&lt;BR /&gt;Basic algorithm is a 11th order optimal polynomial for 0.75&lt;X&gt;&amp;lt;1.5, which means there are no tables. Only 240 bytes of memory are needed to store the constants.&lt;BR /&gt;&lt;BR /&gt;The functions are:&lt;BR /&gt;&lt;BR /&gt;//for large vectors &lt;BR /&gt;void log( float* y, float* x, long int n );&lt;BR /&gt;&lt;BR /&gt;//for small vectors&lt;BR /&gt;__v4sf log( __v4sf x );&lt;BR /&gt;&lt;BR /&gt;which you can get from here:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://arithmex.com/files/vlog_check.tar.gz" target="_blank"&gt;http://arithmex.com/files/vlog_check.tar.gz&lt;/A&gt;&lt;BR /&gt;(compiles on 64-bit linux with g++-4.2.1 )&lt;BR /&gt;&lt;BR /&gt;It is obvious that a similar speed-up for 'sin', 'cos', 'exp', etc. can also be achieved. I also think it is possible to significantly speed-up the double precision versions as well, as every extra term in the series only adds 0.25 cycles/element, i.e. going from 11th to 21st order polynomial only adds 2.5 cycles/element, so I'd expect a double precision version to complete in about 12 cycles.&lt;BR /&gt;&lt;BR /&gt;Personally I don't need these functions or the higher precision, but if anyone is interested...I'm for part-time hire. And because I really, really enjoy doing stuff like this, I'm a bargain.&lt;/X&gt;</description>
      <pubDate>Wed, 30 Apr 2008 12:57:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Faster-Logarithms/m-p/895232#M10844</guid>
      <dc:creator>hrbattenfeld</dc:creator>
      <dc:date>2008-04-30T12:57:14Z</dc:date>
    </item>
  </channel>
</rss>

