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.