Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6956 Discussions

Trust Region solver memory corruption

Michael_Sarahan
Beginner
296 Views

Hi there,

I'm trying to use MKL to replace existing Levenberg-Marquardt fitting using MINPACK or MPFit.  As a test case, I'm fitting a Gaussian function.  Things work pretty well, except that my program crashes at the final MKL_FreeBuffers call.  I don't know if this is an MKL problem, as this crash occurs even when I comment out that MKL_FreeBuffers call.

I've pasted part of my code here: http://pastebin.com/SXuQ8egA - if more of the code would be helpful, I'll upload it.  It's just a rather large codebase to ask you to crawl through.

I had a few questions, just to make sure I'm not doing anything dumb:

  1. Is it OK to use vectors as I've done, instead of malloc?  It seems to work (the algorithm fits my test Gaussian correctly), but memory corruption occurs at the end occurs in a vector's destructor.  (Do you have a good way to identify which vector is causing the problem?  I'm afraid I don't know how to debug that.)
  2. Does MKL keep any handle on any of the temporary arrays that would cause that destructor problem?

For reference, I'm using VS2008, x64 and MKL 10.3.1.

Thanks for any tips...

0 Kudos
2 Replies
Michael_Sarahan
Beginner
296 Views

PS: I also sometimes get access violation errors in my djacobix call, but that's not every time.

0 Kudos
Michael_Sarahan
Beginner
296 Views

Sorry, my error.  I was not creating the fjac vector correctly - it was too small.  I had only m elements.

Sorry for the noise!

0 Kudos
Reply