<?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 Re: Access violation writing location by MKL_FreeBuffers in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992963#M18111</link>
    <description>It must be from age. I thought I had responded to this posting but in looking over the various postings I see that I have not.

I am not certain but I think that there would have been no buffers created for such a small problem as the example. We may not have anticipated that the buffer freeing software would be called when no buffers were created. If that is the case we need to fix that in the software.

Bruce</description>
    <pubDate>Wed, 13 Apr 2005 22:51:36 GMT</pubDate>
    <dc:creator>Intel_C_Intel</dc:creator>
    <dc:date>2005-04-13T22:51:36Z</dc:date>
    <item>
      <title>Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992961#M18109</link>
      <description>&lt;DIV&gt;Has anyone run into a problem of access violation when calling MKL_FreeBuffers with the version 7.21 of MKL for windows?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 02 Apr 2005 05:24:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992961#M18109</guid>
      <dc:creator>xertin</dc:creator>
      <dc:date>2005-04-02T05:24:48Z</dc:date>
    </item>
    <item>
      <title>Re: Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992962#M18110</link>
      <description>&lt;DIV&gt;Here is what I did and got the access violation (with MKL 7.2.1.0013?):&lt;/DIV&gt;
&lt;DIV&gt;I took the file zgetrsx.f from exampleslapacksource and the data file zgetrsx.dfrom exampleslapackdata; built projects with Intel Fortran 8.1 and Compaq Visual Fotran 6.5; in zgetrfsx.fcommented out the line  CALL X04DBF (which is for writing the results only) andadded CALL MKL_FreeBuffers() before the STOP statement; added ia32lib to the lib path list in the link options; added mkl_c.lib (in intel 8.1 project) or mkl_s.lib (in CVF 6.5 project). I tried to link static and dll runtime libraries. The projects built without any warning, yet alwaystriggeredan access violation. The problem seems to be in __kmp_register_library_startup.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;MKL_FreeBuffers() is of interest because of the memory leak issue mentioned in the release note (mklnotes.htm). The release notes seem to have the same statements on Memory Allocation since version MKL 6.1. Yet we are not sure whether programs linked with MKL leak memory or not. &lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I appreciate your response to this topicif youhave successcullyusedMKL_FreeBuffers() (of MKL7.2.1.0013)in your program.&lt;/DIV&gt;
&lt;DIV&gt;Your comments on the memory leak (as related to use of MKL) is much more deeply apprciated.&lt;/DIV&gt;</description>
      <pubDate>Mon, 04 Apr 2005 23:05:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992962#M18110</guid>
      <dc:creator>xertin</dc:creator>
      <dc:date>2005-04-04T23:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992963#M18111</link>
      <description>It must be from age. I thought I had responded to this posting but in looking over the various postings I see that I have not.

I am not certain but I think that there would have been no buffers created for such a small problem as the example. We may not have anticipated that the buffer freeing software would be called when no buffers were created. If that is the case we need to fix that in the software.

Bruce</description>
      <pubDate>Wed, 13 Apr 2005 22:51:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992963#M18111</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2005-04-13T22:51:36Z</dc:date>
    </item>
    <item>
      <title>Re: Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992964#M18112</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;we have the exact same problem in some of our code, where we do not always use functions that use mkl, but always call a clean up function, which calls MKL_FreeBuffers, which results in the access violation described.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;My question is then when will this bug be fixed? &lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;As an additional question I could ask when will MKL 8.0 be released?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;However, shouldn't this bug be fixed for MKL 7.2 too, regardless of whether or not it will be fixed in MKL 8.0?&lt;/DIV&gt;</description>
      <pubDate>Thu, 08 Sep 2005 21:28:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992964#M18112</guid>
      <dc:creator>n_trasmussen</dc:creator>
      <dc:date>2005-09-08T21:28:14Z</dc:date>
    </item>
    <item>
      <title>Re: Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992965#M18113</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I use MKL 9.1.022, and called MKL_FreeBuffers()from destructor C++ class in MS VSNET 2005, whichresulted togeneral exception:&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#808080"&gt;02F6C887 jle _mkl_serv_freebuffers+0C8h (2F6C924h) &lt;BR /&gt;02F6C88D mov dword ptr [esp],ebx &lt;BR /&gt;02F6C890 mov dword ptr [esp+4],esi &lt;BR /&gt;02F6C894 mov dword ptr [esp+8],edi &lt;BR /&gt;02F6C898 mov dword ptr [esp+0Ch],ebp &lt;BR /&gt;02F6C89C mov edx,1 &lt;BR /&gt;02F6C8A1 mov ebx,edx &lt;BR /&gt;02F6C8A3 mov esi,dword ptr _afxInitAppState+2CAh (5EF3A80h)[ebx*4] 02F6C8AA mov ebp,dword ptr [esi+70h] &lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;Where registers are:&lt;/PRE&gt;&lt;PRE&gt;EBPFEEEFEEE&lt;BR /&gt;ESI0B837730&lt;BR /&gt;EDX00000000&lt;BR /&gt;EBX00000003&lt;/PRE&gt;&lt;PRE&gt;In the same time this code works fine with MKL 7.2.6.&lt;BR /&gt;&lt;BR /&gt;To have a control over the memory I redirected all memory functions to &lt;BR /&gt;my own ones, controlling all allocated and deallocated pointers to &lt;BR /&gt;avoid deallocating previously free memory (if pointer in MKL is not set&lt;BR /&gt;to NULL after that), which shows up that after calling the MKL_FreeBuffers()&lt;BR /&gt;it deallocates 5 buffers, and crashes after 6 one deallocated.&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_malloc(size_t size);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_calloc( size_t num, size_t size );&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_realloc( &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;void&lt;/FONT&gt;&lt;FONT size="2"&gt;* memblock, size_t size );&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; my_free( &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;void&lt;/FONT&gt;&lt;FONT size="2"&gt;* memblock);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;class&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; CAutoFreeIntelMemory&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;public&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;std::set &lt;DWORD&gt; m_pAllocated;&lt;/DWORD&gt;&lt;/P&gt;&lt;P&gt;CAutoFreeIntelMemory()&lt;/P&gt;&lt;P&gt;{ &lt;/P&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;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;~CAutoFreeIntelMemory();&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;static&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; CAutoFreeIntelMemory dummyObject;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;// my_malloc&lt;/P&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_malloc(size_t size)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* p = malloc( size);&lt;P&gt;&lt;/P&gt;&lt;P&gt;dummyObject.m_pAllocated.insert( (DWORD)p);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; p;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;// my_calloc&lt;/P&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_calloc( size_t num, size_t size )&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* p = calloc( num, size);&lt;P&gt;&lt;/P&gt;&lt;P&gt;dummyObject.m_pAllocated.insert( (DWORD)p);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; p;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;// my_realloc&lt;/P&gt;&lt;P&gt;// ----------------------------------------------------------
------------------&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* my_realloc( &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;void&lt;/FONT&gt;&lt;FONT size="2"&gt;* memblock, size_t size )&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;* p = realloc( memblock, size);&lt;P&gt;&lt;/P&gt;&lt;P&gt;dummyObject.m_pAllocated.insert( (DWORD)p);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; p;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;// my_free&lt;/P&gt;&lt;P&gt;// ----------------------------------------------------------------------------&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; my_free( &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;void&lt;/FONT&gt;&lt;FONT size="2"&gt;* p)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;std::set &lt;DWORD&gt;::iterator setIter = dummyObject.m_pAllocated.find((DWORD)p);&lt;/DWORD&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; ( setIter != dummyObject.m_pAllocated.end())&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// free( p);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;dummyObject.m_pAllocated.erase( setIter);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;CAutoFreeIntelMemory::~CAutoFreeIntelMemory()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;MKL_FreeBuffers(); &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;//Free memory from the intel math library.&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It crashes independently calling of free() function in my_free(). &lt;/P&gt;&lt;P&gt;Even if it's commented, as in this my piece of code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="2"&gt;// free( p);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="2"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;it still internally crashes in MKL_FreeBuffers() after&lt;P&gt;&lt;/P&gt;&lt;P&gt;the same number of calling my_free() function. &lt;/P&gt;&lt;P&gt;It shows that its not GPF, called beacuse of &lt;/P&gt;&lt;P&gt;second deallocation of the previously deallocated memory.&lt;/P&gt;&lt;/PRE&gt;
&lt;P&gt;It crashedandin downloaded Beta MKL 10.0.006. The crash depends on number of MKL function calls. Depending of number of the analysis calls MKL_FreeBuffers() may be successful, or crashing. The more the analysis sweep steps, the more buffers MKL allocates, the more probability that its deallocation calls the crash. &lt;/P&gt;
&lt;P&gt;Using my memory control functions have shown upthat the memory is not deallocated, but not accessable to free it. &lt;/P&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;Finally I found that the problem was caused bywhere the function called from, and I think it's created by multi-trading of the library. In my previous code i&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;t's called from destructor of a global variable, which's called by Windows main function, when it closed most of treads of the library, and memory access become unavailable. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;Instead of calling from destructor I moved the callto the CAutoFreeIntelMemory member function in the end ofmy main Windows instance function CMyApp::ExitInstance(), where all treads and memory are available:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;extern void FreeIntelMKLMemory(void);&lt;BR /&gt;&lt;BR /&gt;// ----------------------------------------------------------------------------&lt;BR /&gt;//Ex
itInstance&lt;BR /&gt;// ----------------------------------------------------------------------------&lt;BR /&gt;int CMyApp::ExitInstance() &lt;BR /&gt;{&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;.................................&lt;BR /&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;..................................&lt;BR /&gt;FreeIntelMKLMemory();&lt;BR /&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;return __super::ExitInstance();&lt;BR /&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;SPAN class="752145814-02112007"&gt;where MKL memeory deallocation control variable class a nd wrapper function for it FreeIntelMKLMemory(void&lt;FONT face="Arial" size="2"&gt;)&lt;/FONT&gt;are defined as:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="+0"&gt;&lt;SPAN class="752145814-02112007"&gt;&lt;FONT color="#0000ff"&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;class&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt; CAutoFreeIntelMemory&lt;BR /&gt;{&lt;BR /&gt;public&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;FONT face="Arial"&gt;:&lt;BR /&gt;&lt;SPAN class="752145814-02112007"&gt; &lt;/SPAN&gt;&lt;FONT color="#0000ff"&gt;void&lt;/FONT&gt; FreeIntelMemory( &lt;FONT color="#0000ff"&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Arial"&gt;);&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;};&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;&lt;FONT color="#0000ff"&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;static&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt; CAutoFreeIntelMemory g_cIntelMKLDummyObject;&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;&lt;FONT color="#008000"&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;// ----------------------------------------------------------------------------&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;// FreeIntelMKLMemory&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;// ----------------------------------------------------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff"&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;void&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt; FreeIntelMKLMemory(void&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;)&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;{&lt;BR /&gt;&lt;SPAN class="752145814-02112007"&gt; &lt;/SPAN&gt;g_cIntelMKLDummyObject.FreeIntelMemory();&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;}&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff"&gt;&lt;FONT face="Arial" size="2"&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt; CAutoFreeIntelMemory::FreeIntelMemory(void&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;)&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;FONT face="Arial"&gt;{&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Arial"&gt;&lt;SPAN class="752145814-02112007"&gt; &lt;/SPAN&gt;MKL_FreeBuffers(); &lt;/FONT&gt;&lt;FONT color="#008000"&gt;&lt;FONT face="Arial"&gt;//Free memory from the intel math library.&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;It's fixed the issue, caused by the Intel MKLmulti-trading.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 02 Nov 2007 14:35:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992965#M18113</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2007-11-02T14:35:10Z</dc:date>
    </item>
    <item>
      <title>Re: Access violation writing location by MKL_FreeBuffers</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992966#M18114</link>
      <description>&lt;P&gt;&lt;FONT face="Verdana"&gt;Sergey,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana"&gt;To investigate the problem, I need in some details.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana"&gt;Please:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana"&gt;Did you use MKL-ia32 or MKL-em64t?&lt;BR /&gt;Did you use static or dynamic MKL? Which MKL libraries were linked?&lt;BR /&gt;Is your application dynamic or static? I.e. was MKL called from DLL or not?&lt;BR /&gt;Which of MKL functions did you use in your application? BLAS/FFT/...? Functions' names are welcomed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana"&gt;Thanks,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana"&gt;-Vladimir&lt;BR /&gt;MKL library engineering&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Nov 2007 12:06:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Access-violation-writing-location-by-MKL-FreeBuffers/m-p/992966#M18114</guid>
      <dc:creator>Vladimir_Lunev</dc:creator>
      <dc:date>2007-11-26T12:06:09Z</dc:date>
    </item>
  </channel>
</rss>

