intel mkl mkl_freeBuffer() access violation exception error

intel mkl mkl_freeBuffer() access violation exception error

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.

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

i dont find mkl_thread_free_buffer() in my mkl library .

Does this function exist in my library?

Quote:

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-opt....

 

 

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today