<?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 using (Intel) AVX within vmdexp in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-Intel-AVX-within-vmdexp/m-p/783034#M1599</link>
    <description>&lt;P&gt;Hey Intel folks,&lt;BR /&gt;&lt;BR /&gt;anyone out there who tested/used the vmdexp function in fortran code with Intel AVX extensions enabled at &lt;BR /&gt;compiling time via the command line switch -mavx ???&lt;BR /&gt;&lt;BR /&gt;I just implemted the vmdexp function in a library function of a fortran combustion simulation code, but unfortunately&lt;BR /&gt;the wall time spend in the function (measured with omp_get_wtime) raised by a factor of 3 to 3.5 running (compared to&lt;BR /&gt;code relying completely on calls to the exp function from the Intel compiler math lib ) on a sandy bridge machine with &lt;BR /&gt;a processor implementing the Intel AVX extensions. :-(&lt;BR /&gt;&lt;BR /&gt;Did anyone encounter the same/similar problem(s) using the vmdexp function in a C++/Fortran program? &lt;BR /&gt;&lt;BR /&gt;I do not think that misalignment of the elements of the hand-written vector with 156 double precision elements should &lt;BR /&gt;cause such a massive performance loss when using the vmdexp function.&lt;BR /&gt;But I've just to test for this in near future (being just a tedious task ;-} )...&lt;BR /&gt;&lt;BR /&gt;I also experimented with a vector generated by a do-loop, but the problem get even worse... :-(&lt;BR /&gt;&lt;BR /&gt;@ Intel programmes: Did you implement any support for AVX in vmdexp or does the function completely lack from &lt;BR /&gt;support for (Intel) AVX ???&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks in advance for your replies and help, Sebastian.&lt;/P&gt;</description>
    <pubDate>Sun, 15 Jul 2012 18:12:45 GMT</pubDate>
    <dc:creator>parallelworker</dc:creator>
    <dc:date>2012-07-15T18:12:45Z</dc:date>
    <item>
      <title>using (Intel) AVX within vmdexp</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-Intel-AVX-within-vmdexp/m-p/783034#M1599</link>
      <description>&lt;P&gt;Hey Intel folks,&lt;BR /&gt;&lt;BR /&gt;anyone out there who tested/used the vmdexp function in fortran code with Intel AVX extensions enabled at &lt;BR /&gt;compiling time via the command line switch -mavx ???&lt;BR /&gt;&lt;BR /&gt;I just implemted the vmdexp function in a library function of a fortran combustion simulation code, but unfortunately&lt;BR /&gt;the wall time spend in the function (measured with omp_get_wtime) raised by a factor of 3 to 3.5 running (compared to&lt;BR /&gt;code relying completely on calls to the exp function from the Intel compiler math lib ) on a sandy bridge machine with &lt;BR /&gt;a processor implementing the Intel AVX extensions. :-(&lt;BR /&gt;&lt;BR /&gt;Did anyone encounter the same/similar problem(s) using the vmdexp function in a C++/Fortran program? &lt;BR /&gt;&lt;BR /&gt;I do not think that misalignment of the elements of the hand-written vector with 156 double precision elements should &lt;BR /&gt;cause such a massive performance loss when using the vmdexp function.&lt;BR /&gt;But I've just to test for this in near future (being just a tedious task ;-} )...&lt;BR /&gt;&lt;BR /&gt;I also experimented with a vector generated by a do-loop, but the problem get even worse... :-(&lt;BR /&gt;&lt;BR /&gt;@ Intel programmes: Did you implement any support for AVX in vmdexp or does the function completely lack from &lt;BR /&gt;support for (Intel) AVX ???&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks in advance for your replies and help, Sebastian.&lt;/P&gt;</description>
      <pubDate>Sun, 15 Jul 2012 18:12:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-Intel-AVX-within-vmdexp/m-p/783034#M1599</guid>
      <dc:creator>parallelworker</dc:creator>
      <dc:date>2012-07-15T18:12:45Z</dc:date>
    </item>
    <item>
      <title>using (Intel) AVX within vmdexp</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-Intel-AVX-within-vmdexp/m-p/783035#M1600</link>
      <description>Hi Sebastian,&lt;BR /&gt;thanks for your report. Short answer to your questions is yes, Intel MKL vmdexp() function supports Intel AVX.&lt;BR /&gt;&lt;BR /&gt;However in order for us to be able to give you a complete and accurate answer we'll need some important details. &lt;BR /&gt;1) What kind of OS is that? What archtecture 32-bit or 64?&lt;BR /&gt;2) What are the versions of Intel MKL and Intel Compiler that you used?&lt;BR /&gt;3) What are your arguments to the exp? Do they have a potential to cause over or underflow? E.g. good arguments are within approximately [-707, 707] interval for double precision.&lt;BR /&gt;4) What compiler switches do you use to compile your Fortran program? Does the call to exp function getvectorized?&lt;BR /&gt;&lt;BR /&gt;Assuming that you have latest software and your arguments are all OK, I would point to an important moment: Intel MKL VML functions are intended to work best if vector lengths are somewhat larger, e.g. something like 500-10000 elements. E.g. see the charts &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/vml/functions/exp.html"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/vml/functions/exp.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Anyway a small code sample would help us to investigate your case.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Nikita</description>
      <pubDate>Mon, 16 Jul 2012 07:50:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-Intel-AVX-within-vmdexp/m-p/783035#M1600</guid>
      <dc:creator>Nikita_A_Intel</dc:creator>
      <dc:date>2012-07-16T07:50:10Z</dc:date>
    </item>
  </channel>
</rss>

