MKL-DSS-DSS-Error, Out of memory

MKL-DSS-DSS-Error, Out of memory

Hi all, I am using MKL DSS to solve a sequence of systems of equations in a finite element calculation. The structure of the systems is always the same, and so, DSS_CREATE, DSS_DEFINE_STRUCTURE DSS_REORDER are called only once, while DSS_FACTOR_REAL DSS_SOLVE_REAL are called as many times as needed. The point is that, when running a compilation with Intel Composer version 2013.4.190, everything was OK, and the memory usage remains almost constant during all process. However, after upgrading to version 198, and now to 2013_sp1.0.103, I have verified that for some reason memory usage increases each time DSS_FACTOR_REAL and DSS_SOLVE_REAL are called. It seems that a new memory space is being allocated and nor released each time. Of course that, after a few calls, error “MKL-DSS-DSS-Error, Out Of Memory” happens… If I remember well, a similar problem had occurred in a former version and meanwhile corrected. I already tried to CALL mkl_free_buffers, but the problema remains. Any tip? Thanks!!!! Luis

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

>>are called as many times as needed.
>>...a new memory space is being allocated and nor released each time...

On what platform does it happen, Windows or Linux?


Problem occurs in Windows.

Please take a look to the memory evolution. Taks stops because the total memory reaches the maximum of about 2GB in a 32-bits compilation.


Downloadimage/png image-dss-error.png139.46 KB

Compilation Options (win IA-32):

ifort mod_parameters.f mod_tools.f mod*.f /4L132 /fpp /D_MKL /fast /Qopenmp /c
ifort *.for /nologo /4L132 /fpp /D_MKL /fast /Qopenmp /c
ifort *.obj mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib /exe: DD3IMP32

Try to workaround the problem by increasing the size of Virtual Memory on your Windows system. Set, for example, an Initial Size to 16GB and a Maximum size to 96GB.

Thanks Serguey.

I compiled also in 64bits, and of course in this case the 2GB limitation does not apply, but because the allocated memory increases continuously, when the problem size becomes larger than the RAM, it slows down so much that it is in practice impossible to execute.

But I took a look to the problem in debug. What I saw was that the source of the problem is the DSS_FACTOR_REAL subroutine.
Each time this subroutine is called, an additional amount of memory is allocated and not released.
As I mention before, this problem started on version 2013.5.198.

Is this really a bug or is there something I can do to avoid the problem?


Luis,  can you give the example of the code for reproducing the problem on our side? this is an unknown problem for us. 

Best Reply

Luis, I was able the standalone example which shows the problem with DSS API. The memory leak happens during factorization stage. the problem is escalated. the fix of the problem, the mose probably,  would be available the next update. I will update this record as soon as this fix would be released.

regards,  Gennady

Many many thanks Gennady.

Hope a new update can be released soon.

Best, Luis


the memory leakage problem with DSS API has been fixed in update 1 ( MKL version 11.1.1 ). This update you can download from intel reqistration center. Please let us know the results.

regards, Gennady

Thianks Gennady,

memory leak issue seems to be solved.



Leave a Comment

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