<?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 Intel Math Library in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120862#M131663</link>
    <description>&lt;P&gt;The Intel C++ compiler requires one to include the header file: &lt;SPAN class="filepath"&gt;mathimf.h&amp;nbsp; so as to use Intel provided math functions. What does the FORTRAN compiler do? Does it use Intel math functions by default? Or do I have to do something to enable that?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Thanks!&lt;/P&gt;</description>
    <pubDate>Sun, 08 May 2016 19:00:01 GMT</pubDate>
    <dc:creator>Vishnu</dc:creator>
    <dc:date>2016-05-08T19:00:01Z</dc:date>
    <item>
      <title>Intel Math Library</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120862#M131663</link>
      <description>&lt;P&gt;The Intel C++ compiler requires one to include the header file: &lt;SPAN class="filepath"&gt;mathimf.h&amp;nbsp; so as to use Intel provided math functions. What does the FORTRAN compiler do? Does it use Intel math functions by default? Or do I have to do something to enable that?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Sun, 08 May 2016 19:00:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120862#M131663</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-08T19:00:01Z</dc:date>
    </item>
    <item>
      <title>I suppose there are several</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120863#M131664</link>
      <description>&lt;P&gt;I suppose there are several levels to this.&lt;/P&gt;

&lt;P&gt;The documentation of mathimf is confusing, at least to me, but I don't think your characterization of it determining whether Intel C++ or C99 use Intel functions is accurate to a great extent.&amp;nbsp; You could examine your own calling .o by using nm to get more information.&lt;/P&gt;

&lt;P&gt;ifort never calls any x87 long double functions, as gfortran real(10) would do, so that functionality of mathimf.h isn't relevant, and you can't call glibc long double functions from ifort.&lt;/P&gt;

&lt;P&gt;There is a fairly complete set of Intel math functions, requiring at least SSE2, shared by ifort and icc, and you have no real choice about those being called by ifort in preference to those from glibc, which might be called if Intel math functions are missing, or with ifort -mia32.&lt;/P&gt;

&lt;P&gt;Auto-vectorized math function calls are always to the Intel libsvml.&amp;nbsp;&amp;nbsp; To some extent, you can over-ride default auto-vectorization choices by the fast-transcendentals option, as well as by -fp-math and no-vec settings.&lt;/P&gt;

&lt;P&gt;There are both Intel math functions which make a choice of code path according to CPU architecture at run time, and those which don't switch at run time, invoked by -fimf-arch-consistency,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Most of these work the same with Intel Fortran and C++.&lt;/P&gt;</description>
      <pubDate>Sun, 08 May 2016 20:21:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120863#M131664</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-05-08T20:21:17Z</dc:date>
    </item>
    <item>
      <title>I did nm my output (attached)</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120864#M131665</link>
      <description>&lt;P&gt;I did nm my output (attached) once with mathimf.h and once with math.h . There is no difference.&lt;/P&gt;

&lt;P&gt;I am calling a sine function inside, so there is something that uses the math library.&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 08:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120864#M131665</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-10T08:32:00Z</dc:date>
    </item>
    <item>
      <title>The Intel Fortran compiler</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120865#M131666</link>
      <description>&lt;P&gt;The Intel Fortran compiler uses the Intel math library if it provides the function, the C math library if it doesn't. You don't have control over this.&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 17:22:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120865#M131666</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2016-05-10T17:22:12Z</dc:date>
    </item>
    <item>
      <title>Dear Intel Developers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120866#M131667</link>
      <description>&lt;P&gt;Dear Intel Developers Community,&lt;/P&gt;

&lt;P&gt;An issue relative to control on math lib to be used. Situation:&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN-US" style="margin: 0px; font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11pt;"&gt;&lt;FONT color="#000000"&gt;1. When a compiled fortran code is executed, the computation time is T&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN-US" style="margin: 0px; font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11pt;"&gt;&lt;FONT color="#000000"&gt;2. When this same fortran code is transformed as a dynamic lib of a C++ application, the execution is 5*T.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;It was identified that cos() calls in the fortran code were responsible for that performance downgrade:&lt;/P&gt;

&lt;P&gt;in situation 1, it is cos() of lib&amp;nbsp;&lt;SPAN lang="FR" style="margin: 0px; font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11pt;"&gt;&lt;FONT color="#000000"&gt;libimf.so &lt;/FONT&gt;&lt;/SPAN&gt;​that is called.&lt;/P&gt;

&lt;P&gt;In situation 2, is is cos() of lib&amp;nbsp;&lt;SPAN lang="FR" style="margin: 0px; font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11pt;"&gt;&lt;FONT color="#000000"&gt;libm.so.6 that is called&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;How to keep control on Library to be used in situation 2?&lt;/P&gt;

&lt;P&gt;BR&lt;/P&gt;

&lt;P&gt;Gael.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Mar 2018 11:08:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-Math-Library/m-p/1120866#M131667</guid>
      <dc:creator>gael__couturier</dc:creator>
      <dc:date>2018-03-05T11:08:54Z</dc:date>
    </item>
  </channel>
</rss>

