<?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 i_malloc_dll.h in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801483#M3098</link>
    <description>Hi Victor,&lt;BR /&gt;Thank you for the response.&lt;BR /&gt;SO I consolidated a few things and found out that I need to declare things like:&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc = scalable_malloc;&lt;BR /&gt;etc..&lt;BR /&gt;However, this does not work for the dll version of the functions.&lt;BR /&gt;Here is a consolidated main:&lt;BR /&gt;&lt;BR /&gt;#include &lt;I_MALLOC.H&gt;&lt;BR /&gt;#include "tbb/scalable_allocator.h"&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc = scalable_malloc;&lt;BR /&gt;i_calloc_t i_calloc = scalable_calloc;&lt;BR /&gt;i_realloc_t i_realloc = scalable_realloc;&lt;BR /&gt;i_free_t i_free  = scalable_free;&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc_dll = scalable_malloc;&lt;BR /&gt;i_calloc_t i_calloc_dll = scalable_calloc;&lt;BR /&gt;i_realloc_t i_realloc_dll = scalable_realloc;&lt;BR /&gt;i_free_t i_free_dll  = scalable_free;&lt;BR /&gt;&lt;BR /&gt;//os&lt;BR /&gt;#include &lt;WINDOWS.H&gt;&lt;BR /&gt;&lt;BR /&gt;//std&lt;BR /&gt;#include &lt;STRING&gt;&lt;BR /&gt;using std::string;&lt;BR /&gt;#include &lt;SSTREAM&gt;&lt;BR /&gt;using std::stringstream;&lt;BR /&gt;#include &lt;IOSTREAM&gt;&lt;BR /&gt;using std::cout;&lt;BR /&gt;using std::endl;&lt;BR /&gt;//boost&lt;BR /&gt;#include &lt;BOOST&gt;&lt;BR /&gt;using boost::array;&lt;BR /&gt;&lt;BR /&gt;#include &lt;OMP.H&gt;&lt;BR /&gt;#include &lt;MKL.H&gt;&lt;BR /&gt;&lt;BR /&gt;/*---------------------------------------------------&lt;BR /&gt; Class to encapsulate mkl's:&lt;BR /&gt; -memory choices&lt;BR /&gt; -array boundaries&lt;BR /&gt; -2-d array lda &lt;BR /&gt; -thread management:&lt;BR /&gt;  &lt;BR /&gt; The ppc macros:&lt;BR /&gt;  OTC_USE_MKL_ALLOCATORS&lt;BR /&gt;  OTC_USE_TBB_ALLOCATORS&lt;BR /&gt;  OTC_USE_TBB_ALLOCATORS_FOR_MKL&lt;BR /&gt; act with the following precedence rules:&lt;BR /&gt; If OTC_USE_MKL_ALLOCATORS is defined &lt;BR /&gt; the mkl_malloc/free are used.&lt;BR /&gt; If not and the other two macros are defined &lt;BR /&gt; then the tbb scallable_malloc/free will be used.&lt;BR /&gt; O/wise the OS malloc/free is employed.&lt;BR /&gt;---------------------------------------------------*/&lt;BR /&gt;&lt;BR /&gt;class MKL{&lt;BR /&gt;public:&lt;BR /&gt; static const size_t ARRAY_BOUNDARY_IN_BYTES = 64;&lt;BR /&gt; static const size_t LDA_DIVISOR_IN_BYTES = 16;&lt;BR /&gt; static const size_t LDA_DIVISOR_IN_BYTES_FORBITTEN = 2048;&lt;BR /&gt;&lt;BR /&gt; MKL(){&lt;BR /&gt;  mkl_get_version(&amp;amp;version_);&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; ~MKL()&lt;BR /&gt; {}&lt;BR /&gt;&lt;BR /&gt; /*---------------------------------------------------&lt;BR /&gt; Version:&lt;BR /&gt; ---------------------------------------------------*/&lt;BR /&gt; int majorVersion() const {&lt;BR /&gt;  return version_.MajorVersion;&lt;BR /&gt; }&lt;BR /&gt; /*---------------------------------------------------&lt;BR /&gt; Memory:&lt;BR /&gt; ---------------------------------------------------*/&lt;BR /&gt; // Functions to provide with mkl-compliant alloc/dealloc functionality.&lt;BR /&gt; template&amp;lt; typename _T &amp;gt;&lt;BR /&gt; static _T * allocate( const size_t size ){&lt;BR /&gt;  return (_T*)(mkl_malloc( sizeof(_T)*size, ARRAY_BOUNDARY_IN_BYTES ));&lt;BR /&gt; }&lt;BR /&gt; template&amp;lt; typename _T &amp;gt;&lt;BR /&gt; static void deallocate( _T * ptr ){&lt;BR /&gt;  mkl_free( (void*)ptr );&lt;BR /&gt; }&lt;BR /&gt; // freeing mkl-allocated memory:&lt;BR /&gt; static void freeAuxMemory(){&lt;BR /&gt;  mkl_free_buffers();&lt;BR /&gt; }&lt;BR /&gt; static void freeAuxThreadMemory(){&lt;BR /&gt;  mkl_thread_free_buffers();&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt;private:&lt;BR /&gt; MKLVersion version_;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;int main(){&lt;BR /&gt;&lt;BR /&gt; MKL mkl;&lt;BR /&gt; cout &amp;lt;&amp;lt; mkl.majorVersion() &amp;lt;&amp;lt; endl;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;with error msg:&lt;BR /&gt;&lt;BR /&gt;1&amp;gt;Build started 11/2/2011 11:03:47 AM.&lt;BR /&gt;1&amp;gt;ClCompile:&lt;BR /&gt;1&amp;gt; main.cpp&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(9): warning C4273: 'i_malloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(115) : see previous definition of 'i_malloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(10): warning C4273: 'i_calloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(116) : see previous definition of 'i_calloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(11): warning C4273: 'i_realloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(117) : see previous definition of 'i_realloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(12): warning C4273: 'i_free_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(118) : see previous definition of 'i_free_dll'&lt;BR /&gt;&lt;BR /&gt;having to do with the dllimport part of the declaration (?).&lt;BR /&gt;Any ideas for how to circumvent this?&lt;BR /&gt;Thank you fo your help,&lt;BR /&gt;Petros&lt;BR /&gt;&lt;BR /&gt;&lt;/MKL.H&gt;&lt;/OMP.H&gt;&lt;/BOOST&gt;&lt;/IOSTREAM&gt;&lt;/SSTREAM&gt;&lt;/STRING&gt;&lt;/WINDOWS.H&gt;&lt;/I_MALLOC.H&gt;</description>
    <pubDate>Wed, 02 Nov 2011 15:08:20 GMT</pubDate>
    <dc:creator>Petros_Mamales</dc:creator>
    <dc:date>2011-11-02T15:08:20Z</dc:date>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801479#M3094</link>
      <description>Hi,&lt;BR /&gt;According to the user's manual, I should include the above file to set the allocation functions used by mkl.&lt;BR /&gt;a) this file does not exist in the distribution I have (MKL 10.2.4.032) !!&lt;BR /&gt;b) even if I go for the static libraries file (i_malloc.h) and try to assign the tbb malloc/free (scallable_..)&lt;BR /&gt;the compiler complains that they are already defined (the function pointers). What am I doing wrong??&lt;BR /&gt;The only example in the manual, sets the pointers w/in some main. &lt;BR /&gt;What if I want to promote it to my allocation "policy" in a library? (I assumed it to be the same if in global namespace, correct?)&lt;BR /&gt;Thank you in advance for your help.&lt;BR /&gt;Petros&lt;BR /&gt;&lt;BR /&gt;PS1: Usng win7, mkl 10.2, vs2010 (ms compiler), tbb4.&lt;BR /&gt;PS2: It might be a good idea if different products from intel hpc effort had the same "allocators". For Example IPP does not even provided for such an overwritting mechanism. Just saying ;-))</description>
      <pubDate>Mon, 31 Oct 2011 23:00:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801479#M3094</guid>
      <dc:creator>Petros_Mamales</dc:creator>
      <dc:date>2011-10-31T23:00:47Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801480#M3095</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;MKL doc suggests to usethe samei_malloc.h but with different assignments on Windows.&lt;BR /&gt;For static case:&lt;BR /&gt;&lt;P&gt;i_malloc = my_malloc;&lt;/P&gt;&lt;P&gt;i_calloc = my_calloc;&lt;/P&gt;&lt;P&gt;i_realloc = my_realloc;&lt;/P&gt;&lt;P&gt;i_free = my_free;&lt;BR /&gt;&lt;BR /&gt;but for dynamic one - it should be:&lt;/P&gt;&lt;P&gt;i_malloc_dll = my_malloc; &lt;/P&gt;&lt;P&gt;i_calloc_dll = my_calloc; &lt;/P&gt;&lt;P&gt;i_realloc_dll = my_realloc; &lt;/P&gt;&lt;P&gt;i_free_dll = my_free; &lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2011 09:46:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801480#M3095</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-11-01T09:46:51Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801481#M3096</link>
      <description>Hi Victor,&lt;BR /&gt;Thank you for your response.&lt;BR /&gt;hat about the compilation error?&lt;BR /&gt;Here is what I get:&lt;BR /&gt;&lt;BR /&gt;1&amp;gt;c:_petros_otcsrcotclibexternalmklmemory.h(13):
 error C4430: missing type specifier - int assumed. Note: C++ does not 
support default-int&lt;BR /&gt;1&amp;gt;c:_petros_otcsrcotclibexternalmklmemory.h(13): error C2373: 'i_malloc' : redefinition; different type modifiers&lt;BR /&gt;1&amp;gt; c:program filesintelmkl10.2.4.032includei_malloc.h(127) : see declaration of 'i_malloc'&lt;BR /&gt;1&amp;gt;c:_petros_otcsrcotclibexternalmklmemory.h(13): error C2065: 'scallabe_malloc' : undeclared identifier&lt;BR /&gt;etc..&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;for this piece of code:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &lt;I_MALLOC.H&gt;&lt;BR /&gt;//OTC choices:&lt;BR /&gt;//#define OTC_USE_MKL_ALLOCATORS&lt;BR /&gt;#define OTC_USE_TBB_ALLOCATORS&lt;BR /&gt;#define OTC_USE_TBB_ALLOCATORS_FOR_MKL&lt;BR /&gt;&lt;BR /&gt;#if !defined(OTC_USE_MKL_ALLOCATORS) &lt;BR /&gt;#if defined(OTC_USE_TBB_ALLOCATORS_FOR_MKL)&lt;BR /&gt;#include "tbb/scalable_allocator.h"&lt;BR /&gt;  i_malloc = scallabe_malloc;&lt;BR /&gt;  i_calloc = scallabe_calloc;&lt;BR /&gt;  i_realloc = scallabe_realloc;&lt;BR /&gt;  i_free  = scallabe_free;&lt;BR /&gt; #ifdef _WIN32&lt;BR /&gt;  i_malloc_dll = scallabe_malloc;&lt;BR /&gt;  i_calloc_dll = scallabe_calloc;&lt;BR /&gt;  i_realloc_dll = scallabe_realloc;&lt;BR /&gt;  i_free_dll  = scallabe_free;&lt;BR /&gt; #endif&lt;BR /&gt;&lt;BR /&gt;#else&lt;BR /&gt;  i_malloc_dll = malloc;&lt;BR /&gt;  i_calloc_dll = calloc;&lt;BR /&gt;  i_realloc_dll = realloc;&lt;BR /&gt;  i_free_dll = free;&lt;BR /&gt;#endif&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;Thank you for your hep,&lt;BR /&gt;Petros&lt;/I_MALLOC.H&gt;</description>
      <pubDate>Tue, 01 Nov 2011 13:14:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801481#M3096</guid>
      <dc:creator>Petros_Mamales</dc:creator>
      <dc:date>2011-11-01T13:14:37Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801482#M3097</link>
      <description>Petros,&lt;BR /&gt;&lt;BR /&gt;This source is not complete so first three errors are not clear for me.&lt;BR /&gt;Maybe you need some self-contained file for reassigning TBB-allocator instead of MKL memory manager?&lt;BR /&gt;But please fix a typo: TBB-functions are to be with names &lt;STRONG&gt;scalable&lt;/STRONG&gt;_* not &lt;EM&gt;scallabe_*&lt;/EM&gt;</description>
      <pubDate>Wed, 02 Nov 2011 08:52:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801482#M3097</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-11-02T08:52:15Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801483#M3098</link>
      <description>Hi Victor,&lt;BR /&gt;Thank you for the response.&lt;BR /&gt;SO I consolidated a few things and found out that I need to declare things like:&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc = scalable_malloc;&lt;BR /&gt;etc..&lt;BR /&gt;However, this does not work for the dll version of the functions.&lt;BR /&gt;Here is a consolidated main:&lt;BR /&gt;&lt;BR /&gt;#include &lt;I_MALLOC.H&gt;&lt;BR /&gt;#include "tbb/scalable_allocator.h"&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc = scalable_malloc;&lt;BR /&gt;i_calloc_t i_calloc = scalable_calloc;&lt;BR /&gt;i_realloc_t i_realloc = scalable_realloc;&lt;BR /&gt;i_free_t i_free  = scalable_free;&lt;BR /&gt;&lt;BR /&gt;i_malloc_t i_malloc_dll = scalable_malloc;&lt;BR /&gt;i_calloc_t i_calloc_dll = scalable_calloc;&lt;BR /&gt;i_realloc_t i_realloc_dll = scalable_realloc;&lt;BR /&gt;i_free_t i_free_dll  = scalable_free;&lt;BR /&gt;&lt;BR /&gt;//os&lt;BR /&gt;#include &lt;WINDOWS.H&gt;&lt;BR /&gt;&lt;BR /&gt;//std&lt;BR /&gt;#include &lt;STRING&gt;&lt;BR /&gt;using std::string;&lt;BR /&gt;#include &lt;SSTREAM&gt;&lt;BR /&gt;using std::stringstream;&lt;BR /&gt;#include &lt;IOSTREAM&gt;&lt;BR /&gt;using std::cout;&lt;BR /&gt;using std::endl;&lt;BR /&gt;//boost&lt;BR /&gt;#include &lt;BOOST&gt;&lt;BR /&gt;using boost::array;&lt;BR /&gt;&lt;BR /&gt;#include &lt;OMP.H&gt;&lt;BR /&gt;#include &lt;MKL.H&gt;&lt;BR /&gt;&lt;BR /&gt;/*---------------------------------------------------&lt;BR /&gt; Class to encapsulate mkl's:&lt;BR /&gt; -memory choices&lt;BR /&gt; -array boundaries&lt;BR /&gt; -2-d array lda &lt;BR /&gt; -thread management:&lt;BR /&gt;  &lt;BR /&gt; The ppc macros:&lt;BR /&gt;  OTC_USE_MKL_ALLOCATORS&lt;BR /&gt;  OTC_USE_TBB_ALLOCATORS&lt;BR /&gt;  OTC_USE_TBB_ALLOCATORS_FOR_MKL&lt;BR /&gt; act with the following precedence rules:&lt;BR /&gt; If OTC_USE_MKL_ALLOCATORS is defined &lt;BR /&gt; the mkl_malloc/free are used.&lt;BR /&gt; If not and the other two macros are defined &lt;BR /&gt; then the tbb scallable_malloc/free will be used.&lt;BR /&gt; O/wise the OS malloc/free is employed.&lt;BR /&gt;---------------------------------------------------*/&lt;BR /&gt;&lt;BR /&gt;class MKL{&lt;BR /&gt;public:&lt;BR /&gt; static const size_t ARRAY_BOUNDARY_IN_BYTES = 64;&lt;BR /&gt; static const size_t LDA_DIVISOR_IN_BYTES = 16;&lt;BR /&gt; static const size_t LDA_DIVISOR_IN_BYTES_FORBITTEN = 2048;&lt;BR /&gt;&lt;BR /&gt; MKL(){&lt;BR /&gt;  mkl_get_version(&amp;amp;version_);&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; ~MKL()&lt;BR /&gt; {}&lt;BR /&gt;&lt;BR /&gt; /*---------------------------------------------------&lt;BR /&gt; Version:&lt;BR /&gt; ---------------------------------------------------*/&lt;BR /&gt; int majorVersion() const {&lt;BR /&gt;  return version_.MajorVersion;&lt;BR /&gt; }&lt;BR /&gt; /*---------------------------------------------------&lt;BR /&gt; Memory:&lt;BR /&gt; ---------------------------------------------------*/&lt;BR /&gt; // Functions to provide with mkl-compliant alloc/dealloc functionality.&lt;BR /&gt; template&amp;lt; typename _T &amp;gt;&lt;BR /&gt; static _T * allocate( const size_t size ){&lt;BR /&gt;  return (_T*)(mkl_malloc( sizeof(_T)*size, ARRAY_BOUNDARY_IN_BYTES ));&lt;BR /&gt; }&lt;BR /&gt; template&amp;lt; typename _T &amp;gt;&lt;BR /&gt; static void deallocate( _T * ptr ){&lt;BR /&gt;  mkl_free( (void*)ptr );&lt;BR /&gt; }&lt;BR /&gt; // freeing mkl-allocated memory:&lt;BR /&gt; static void freeAuxMemory(){&lt;BR /&gt;  mkl_free_buffers();&lt;BR /&gt; }&lt;BR /&gt; static void freeAuxThreadMemory(){&lt;BR /&gt;  mkl_thread_free_buffers();&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt;private:&lt;BR /&gt; MKLVersion version_;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;int main(){&lt;BR /&gt;&lt;BR /&gt; MKL mkl;&lt;BR /&gt; cout &amp;lt;&amp;lt; mkl.majorVersion() &amp;lt;&amp;lt; endl;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;with error msg:&lt;BR /&gt;&lt;BR /&gt;1&amp;gt;Build started 11/2/2011 11:03:47 AM.&lt;BR /&gt;1&amp;gt;ClCompile:&lt;BR /&gt;1&amp;gt; main.cpp&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(9): warning C4273: 'i_malloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(115) : see previous definition of 'i_malloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(10): warning C4273: 'i_calloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(116) : see previous definition of 'i_calloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(11): warning C4273: 'i_realloc_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(117) : see previous definition of 'i_realloc_dll'&lt;BR /&gt;1&amp;gt;c:\_petros\tests\mkl\mkl\main.cpp(12): warning C4273: 'i_free_dll' : inconsistent dll linkage&lt;BR /&gt;1&amp;gt; c:\program files\intel\mkl\10.2.4.032\include\i_malloc.h(118) : see previous definition of 'i_free_dll'&lt;BR /&gt;&lt;BR /&gt;having to do with the dllimport part of the declaration (?).&lt;BR /&gt;Any ideas for how to circumvent this?&lt;BR /&gt;Thank you fo your help,&lt;BR /&gt;Petros&lt;BR /&gt;&lt;BR /&gt;&lt;/MKL.H&gt;&lt;/OMP.H&gt;&lt;/BOOST&gt;&lt;/IOSTREAM&gt;&lt;/SSTREAM&gt;&lt;/STRING&gt;&lt;/WINDOWS.H&gt;&lt;/I_MALLOC.H&gt;</description>
      <pubDate>Wed, 02 Nov 2011 15:08:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801483#M3098</guid>
      <dc:creator>Petros_Mamales</dc:creator>
      <dc:date>2011-11-02T15:08:20Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801484#M3099</link>
      <description>Petros,&lt;BR /&gt;&lt;BR /&gt;Please add makefile or used link line to reproduce your problem.&lt;BR /&gt;</description>
      <pubDate>Thu, 03 Nov 2011 06:09:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801484#M3099</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-11-03T06:09:55Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801485#M3100</link>
      <description>Hi Victor,&lt;BR /&gt;There is nothing to add. It is a cpp file containing the entire compilation unit.&lt;BR /&gt;Just compile and link (actually you will not be able to even compile).&lt;BR /&gt;Thank you for your help,&lt;BR /&gt;Petros</description>
      <pubDate>Thu, 03 Nov 2011 13:12:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801485#M3100</guid>
      <dc:creator>Petros_Mamales</dc:creator>
      <dc:date>2011-11-03T13:12:10Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801486#M3101</link>
      <description>Petros,&lt;BR /&gt;&lt;BR /&gt;Warnings are because ofduplicate definitions :(&lt;BR /&gt;Lines4 - 12 should not be as declarations. Please move all i_malloc assignments to main.</description>
      <pubDate>Thu, 03 Nov 2011 13:45:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801486#M3101</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-11-03T13:45:29Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801487#M3102</link>
      <description>Hi Victor,&lt;BR /&gt;As I said, this is only an example! - please, refer to previous e-mail.&lt;BR /&gt;The goal here is to create a library which will be using mkl.&lt;BR /&gt;If this is to link against the mkl dll's how is it supposed to be done?&lt;BR /&gt;It seems to me there is no provision.&lt;BR /&gt;Given that LAPaCK is a central piece of code in a lot of packages, if one has to &lt;BR /&gt;link against te static libs, many problems will appear (from multiple definitions of &lt;BR /&gt;the same functions in the linking phase, in case some of these libs are compiled &lt;BR /&gt;together towards amn executable, to large footprints for individual builds).&lt;BR /&gt;What did the mkl designers have in mind?&lt;BR /&gt;Thank you for your help,&lt;BR /&gt;Petros</description>
      <pubDate>Thu, 03 Nov 2011 14:01:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801487#M3102</guid>
      <dc:creator>Petros_Mamales</dc:creator>
      <dc:date>2011-11-03T14:01:02Z</dc:date>
    </item>
    <item>
      <title>i_malloc_dll.h</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801488#M3103</link>
      <description>Petros,&lt;BR /&gt;&lt;BR /&gt;It needs to have a correct example to see how it works.&lt;BR /&gt;&lt;BR /&gt;If your goal is to create a separate library linked with MKL, then substituting MKL memory allocator is done differently. Maybe, the best variant for you is to create MKL custom (dynamic) library with additional object wheresubstituting i_malloc/i_free is done instead standard MKL settings.</description>
      <pubDate>Thu, 10 Nov 2011 09:40:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/i-malloc-dll-h/m-p/801488#M3103</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-11-10T09:40:44Z</dc:date>
    </item>
  </channel>
</rss>

