Intel® MKL Does Not Immediately Release Memory

In order to achieve better performance, memory allocated by Intel® MKL is not released. This behavior is by design and is a one-time occurrence for Intel MKL routines that require workspace memory buffers. Even so, the user should be aware that some tools might report this as a memory leak. Should the user wish, memory can be released by the user program through use of a function made available in Intel MKL or memory can be released after each call by setting an environment variable (see technical user notes in the doc directory for more details).

Using one of these methods to release memory will not necessarily stop programs from reporting memory leaks, and in fact may increase the number of such reports should you make multiple calls to the library thereby requiring new allocations with each call. Memory not released by one of the methods described will be released by the system when the program ends.

For more complete information about compiler optimizations, see our Optimization Notice.