Quantcast
Channel: Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 2652

dtrnlsp_solve spinning/sleeping when called from multiple threads

$
0
0

I am using the trust region solver in MKL and having issues where dtrnlsp_solve takes significantly longer to complete.   I have got many threads that all need to run an optimization using the trust region solver, each optimization problem has about 200 residuals and about 40-70 unknowns.  When I get to a high number of threads needing to perform the optimization I start to see (though concurrency profiling) that many of the threads are blocked in the solve for up to 20 times longer than a normal solve.  I start to see this behaviour when I have about 40-60 threads which could call the trust region solver.  I have tried two versions of MKL.  Initially I was using version 11.1.2  and seeing the trust region threads spinning with a call stack ending in mkl_serv_lock <- mkl_serv_deallocate.  I then tried version 11.3.0 and saw the threads spinning or sleeping in tbb under mkl_serv_allocate.  

I'm using external threading so I am running MKL in sequential mode.  I'm also using the tbb allocator and 64 bit versions.

Ideally I would like to find a solution that works for MKL version 11.1.2.  There appears to be a small change in the solution produced by the optimization between 11.1.2 and 11.3.0 with the older version appearing to converge to a smaller overall error.

Thanks in advance

Steven 


Viewing all articles
Browse latest Browse all 2652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>