- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi
i use mkl c++ compiler 11.0.066 and mkl10.1 and c++/clr vs2008
i use fft and conv function from mkl in multi thread realtime application (each thread exec fft and conv parallel)
but after little time usage memory go up and application crash.
with any leak detector i cant find any leakage in my code .
recently i study mkl help and find i must use mkl_FreeBuffer() after mkl function for avoidance memory leakage
but when i call mkl_freeBuffer Application crash with access violation exception.
what shoud i do?
when error occured last row of call stack is in a fft function and stop after mkl_freeBuffer() like below
mkl_complex16* intelForwardFft (MKL_Complex16* input,int length)
{
DFTI_DESCRIPTOR *fft_handle;
dfticreatedescriptor(&fft_handle,dfti_double,dfti_complex,1,length) ;
dftisetvalue(fft_handle,dfti_placement,dfti_inplace);
dfti_computeforward(fft_handle,input);
dftifreedescriptor(&fft_handle);
mkl_FreeBuffers();
return input; ===>cursor stop here
}
my prog is realtime .this mean that after freebuffer after each fft , my prog again exec fft . in this situation MKL_FreeBuffer() can solve my memory leakage problem?
i use 64 bit mkl
additional library directory -> em64t\lib
additional dependecy -> mkl_intel_lp64_dll.lib ; mkl_intel_thread_dll.lib ; mkl_core_dll.lib
thanks for you.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your MKL version is ages old. Please consider upgrading to a recent release, for example, MKL 11.1.3.
In a threaded application, you should call mkl_thread_free_buffers() from each thread.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i dont find mkl_thread_free_buffer() in my mkl library .
Does this function exist in my library?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hamed i. wrote:
i dont find mkl_thread_free_buffer() in my mkl library .
Does this function exist in my library?
If you don't find it in your MKL installation, then your MKL version is too old. Please update to a recent MKL release (for example, 11.1). At least, you can get a free 30-day trial of the latest release here: http://software.intel.com/en-us/intel-math-kernel-library-evaluation-options.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zhang Z (Intel) thanks for you.
i install trial of mkl 11 and use mkl_thread_free_buffer() at the end of each worker thread.
my leakage has major reduce and my app more time worked.
whether this happen shows problem is from mkl 10 library or no , problem is from my code?
i want sure that the problem is not from me , and then buy mkl 11 (it is 500 $) .
summary , Do you think mkl 10 has a memory problem?
thnaks

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page