I use mkl with Visual Fortran Compiler XE 14.0.0.103.
I employ the pardiso function for a program that involves solution of a system of linear equations: [A]{x} = {b}, where [A], {b} are given and we want to find vector {x}. My code has to solve this system of equations repeatedly (for many iterations), for different values of [A], {b}. The values of [A], {b} at each iteration depends on the value of {x} from the previous iteration, so the algorithm is something like this:
Initialize {x}
do i = 1,Niter
[Find [A], {b}, given {x}]
[Solve [A]{x} = {b} and find updated {x}]
end do !i
My code has encountered a SERIOUS problem with memory management. Specifically, I see a continuous increase in the amount of memory used, until my computer runs out of memory and the program aborts. I do not have any dynamic memory allocation in my code (I do not use pointers), so I believe that the problem is due to mkl.
I tried to include the line:
call mkl_free_buffers()
but this did not help in any way. I found some posts in this forum with similar comments, but I did not find anything helpful. Any help on this issue would be greatly appreciated!!