Calling dcsmv is causing my program to lock -- periodically when I invoke dcsmv, the call never returns and the process appears with a Sl+ status when I run ps. When I launch the program in a debugger and obtain a trace the lock seems to occur in:
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1 0x0000000000753277 in __kmp_suspend_64 ()
#2 0x000000000078213f in __kmp_hyper_barrier_gather(barrier_type, kmp_info*, int, int, void (*)(void*, void*), void*) ()
#3 0x0000000000784b29 in __kmp_join_barrier(int) ()
#4 0x0000000000727728 in __kmp_join_call ()
#5 0x000000000070bd4f in __kmpc_fork_call ()
#6 0x000000000067d52a in mkl_spblas_lp64_dcsr0ng__c__mvout_omp ()
#7 0x0000000000677950 in mkl_spblas_lp64_mkl_dcscmv ()
I am running the version of MKL that ships with the Intel compiler versions 15.0.1 20141023. The code is running on an Ubuntu 12.04 Linux machine with an Intel(R) Xeon(R) CPU E5-2680.
I was previously running with the version of MKL that ships with 14.0.0 20130728, and did not encounter this issue.
Are there any tips to resolving this issue or to debugging further? Thank you, I am happy to answer any questions or to run additional tests!