<?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_malloc interface missing from Fortran module in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027625#M19980</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;It looks like the interface for MKL_malloc is missing from the mkl_service Fortran 90 module, at least in the versions I have. Is it supposed to be in there? The documentation seems to indicate so, and the interface for mkl_free is definitely there.&lt;/P&gt;

&lt;P&gt;Cheers,&lt;BR /&gt;
	Ben&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Windows&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;14.0.2.176&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Linux&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt;$ grep -ic mkl_malloc composer*/mkl/include/mkl_service.f90
composer_xe_2011_sp1.10.319/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.13.367/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.6.233/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.8.273/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.9.293/mkl/include/mkl_service.f90:0
composer_xe_2013.0.079/mkl/include/mkl_service.f90:0
composer_xe_2013.1.117/mkl/include/mkl_service.f90:0
composer_xe_2013.2.146/mkl/include/mkl_service.f90:0
composer_xe_2013.4.183/mkl/include/mkl_service.f90:0
composer_xe_2013.5.192/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.0.080/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.1.106/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.2.144/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.3.174/mkl/include/mkl_service.f90:0
composerxe-2011.0.084/mkl/include/mkl_service.f90:0
composerxe-2011.3.174/mkl/include/mkl_service.f90:0
composerxe-2011.4.191/mkl/include/mkl_service.f90:0
composerxe-2011/mkl/include/mkl_service.f90:0&lt;/PRE&gt;</description>
    <pubDate>Thu, 29 May 2014 23:10:26 GMT</pubDate>
    <dc:creator>Ben3</dc:creator>
    <dc:date>2014-05-29T23:10:26Z</dc:date>
    <item>
      <title>MKL_malloc interface missing from Fortran module</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027625#M19980</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;It looks like the interface for MKL_malloc is missing from the mkl_service Fortran 90 module, at least in the versions I have. Is it supposed to be in there? The documentation seems to indicate so, and the interface for mkl_free is definitely there.&lt;/P&gt;

&lt;P&gt;Cheers,&lt;BR /&gt;
	Ben&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Windows&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;14.0.2.176&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Linux&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt;$ grep -ic mkl_malloc composer*/mkl/include/mkl_service.f90
composer_xe_2011_sp1.10.319/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.13.367/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.6.233/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.8.273/mkl/include/mkl_service.f90:0
composer_xe_2011_sp1.9.293/mkl/include/mkl_service.f90:0
composer_xe_2013.0.079/mkl/include/mkl_service.f90:0
composer_xe_2013.1.117/mkl/include/mkl_service.f90:0
composer_xe_2013.2.146/mkl/include/mkl_service.f90:0
composer_xe_2013.4.183/mkl/include/mkl_service.f90:0
composer_xe_2013.5.192/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.0.080/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.1.106/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.2.144/mkl/include/mkl_service.f90:0
composer_xe_2013_sp1.3.174/mkl/include/mkl_service.f90:0
composerxe-2011.0.084/mkl/include/mkl_service.f90:0
composerxe-2011.3.174/mkl/include/mkl_service.f90:0
composerxe-2011.4.191/mkl/include/mkl_service.f90:0
composerxe-2011/mkl/include/mkl_service.f90:0&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 May 2014 23:10:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027625#M19980</guid>
      <dc:creator>Ben3</dc:creator>
      <dc:date>2014-05-29T23:10:26Z</dc:date>
    </item>
    <item>
      <title>declared in mkl_service.h.  </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027626#M19981</link>
      <description>&lt;P&gt;declared in&amp;nbsp;mkl_service.h. &amp;nbsp; there is an example -- &amp;lt;mklroot&amp;gt;\examples\servicefuncsf\source\ servicefuncs.f&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 May 2014 03:15:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027626#M19981</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2014-05-30T03:15:55Z</dc:date>
    </item>
    <item>
      <title>Quote:Gennady Fedorov (Intel)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027627#M19982</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Gennady Fedorov (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;declared in&amp;nbsp;mkl_service.h. &amp;nbsp; there is an example -- &amp;lt;mklroot&amp;gt;\examples\servicefuncsf\source\ servicefuncs.f&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Yes, the C prototypes are in mkl_service.h, but that won't work for Fortran.&lt;/P&gt;

&lt;P&gt;That example file has the MKL memory functions declared as external, rather than with using an explicit interface:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;#ifdef _IA32
      INTEGER*4 MKL_MALLOC, MKL_CALLOC, MKL_REALLOC
      integer*4 ALLOC_SIZE, NUM_ELEM, SIZE_ELEM
#else
      INTEGER*8 MKL_MALLOC, MKL_CALLOC, MKL_REALLOC
      integer*8 ALLOC_SIZE, NUM_ELEM, SIZE_ELEM
#endif

      EXTERNAL   MKL_MALLOC, MKL_FREE, MKL_CALLOC, MKL_REALLOC&lt;/PRE&gt;

&lt;P&gt;The documentation indicates that an interface should be available for both languages:&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Intel® Math Kernel Library 11.1 Update 2 Reference Manual wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Fortran Include Files/Modules&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Include file: mkl.fi&lt;/LI&gt;
	&lt;LI&gt;Module (compiled): mkl_service.mod&lt;/LI&gt;
	&lt;LI&gt;Module (source): mkl_service.f90&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;C Include Files&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;mkl.h&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;However it's also missing from mkl.fi:&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt;$ grep -ic malloc composer*/mkl/include/mkl.fi 
composer_xe_2011_sp1.10.319/mkl/include/mkl.fi:0
composer_xe_2011_sp1.13.367/mkl/include/mkl.fi:0
composer_xe_2011_sp1.6.233/mkl/include/mkl.fi:0
composer_xe_2011_sp1.8.273/mkl/include/mkl.fi:0
composer_xe_2011_sp1.9.293/mkl/include/mkl.fi:0
composer_xe_2013.0.079/mkl/include/mkl.fi:0
composer_xe_2013.1.117/mkl/include/mkl.fi:0
composer_xe_2013.2.146/mkl/include/mkl.fi:0
composer_xe_2013.4.183/mkl/include/mkl.fi:0
composer_xe_2013.5.192/mkl/include/mkl.fi:0
composer_xe_2013_sp1.0.080/mkl/include/mkl.fi:0
composer_xe_2013_sp1.1.106/mkl/include/mkl.fi:0
composer_xe_2013_sp1.2.144/mkl/include/mkl.fi:0
composer_xe_2013_sp1.3.174/mkl/include/mkl.fi:0
composerxe-2011.0.084/mkl/include/mkl.fi:0
composerxe-2011.3.174/mkl/include/mkl.fi:0
composerxe-2011.4.191/mkl/include/mkl.fi:0
composerxe-2011/mkl/include/mkl.fi:0&lt;/PRE&gt;

&lt;P&gt;I just wrote my own interface for it.&lt;/P&gt;

&lt;P&gt;Cheers,&lt;/P&gt;

&lt;P&gt;Ben&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 May 2014 03:31:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027627#M19982</guid>
      <dc:creator>Ben3</dc:creator>
      <dc:date>2014-05-30T03:31:02Z</dc:date>
    </item>
    <item>
      <title>Hello. </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027628#M19983</link>
      <description>&lt;P&gt;Hello.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;The issue has been fixed in MKL v.11.3.0 which has been released two days ago. Please check how it works and let us know if any further problems.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2015 05:01:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-malloc-interface-missing-from-Fortran-module/m-p/1027628#M19983</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2015-08-27T05:01:47Z</dc:date>
    </item>
  </channel>
</rss>

