Memory Management Software of the Intel(R) Math Kernel Library

Intel(R) Math Kernel Library (Intel(R) MKL) has memory management software that controls memory buffers for the use by the library functions. New buffers that the library allocates when your application calls Intel MKL are not deallocated until the program ends. To get the amount of memory allocated by the memory management software, call the mkl_mem_stat() function. If your program needs to free memory, call mkl_free_buffers(). If another call is made to a library function that needs a memory buffer, the memory manager again allocates the buffers and they again remain allocated until either the program ends or the program deallocates the memory. This behavior facilitates better performance. However, some tools may report this behavior as a memory leak.

The memory management software is turned on by default, which leaves memory allocated by calls to Intel MKL until the program ends. To disable this behavior of the memory management software, set the MKL_DISABLE_FAST_MM environment variable to any value. This configures the memory management software to allocate and free memory from call to call. Disabling this feature will negatively impact performance of some Intel MKL routines, especially for small problem sizes.


Submit feedback on this help topic

Copyright © 2006 - 2010, Intel Corporation. All rights reserved.