Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Velimsky__Jakub
Beginner
54 Views

Process goes to sleep when using OpenMP

 

Hello,

I've a relatively large program in Fortran90 that relies on the mkl library, in particular BLAS, LAPACK, and DFTI subroutines. These are called repeatedly within the program. There is no OpenMP threading of my own in the code, and i use Intel Fortran compiler (15.0.3) on linux. When executed as a single thread (OMP_NUM_THREADS=1; MKL_NUM_THREADS=1), the program runs without any problems. When I allow the MKL to thread, the process runs correctly for many iterations of the problem, then, after about 12 hours, it goes to sleep state. Using "strace", I found out that it freezes on a call to "futex" function. I've also noticed, using regular checks of the process by "pmap", that with threading enabled, the memory allocated to the program slowly creeps up. In single-thread regime, the memory stays constant (after some initial allocations). Obviously, the whole thing is difficult to debug given the time constraints, so far I still don't know which mkl subroutine is responsible for this. If I test the code on smaller-size, faster cases, the threading problem doesn't occur. I am a bit stuck with the problem, any ideas what to try are welcome. Thanks.

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
54 Views

Jakub,  if you use MKL  bundled with Fortran Compiler 15.0 -- that's mean this is MKL v.11.2 and as I remember, a few memory leakage problems has been fixed in BLAS and in some another routines into MKL 11.2 update 4 and 11.3.*. Could you quick check the latest MKL 2017 ( you may take this version for evaluation for 30 days)? 

 

Velimsky__Jakub
Beginner
54 Views

Dear Gennady, thank you for your help, with Intel 2017 it works fine. Cheers, Jakub.

Reply