Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

dgels in 10.0.1.015 -> 10.0.2.019

andipandi
Beginner
1,051 Views

Dear Board!

I just installed the 10 Update 2 Version of MKL, and the dgels function seems not to be working anymore. When I do a debug-break in Visual Studio 2005, I see that the Call stack is something like (highest being most current)

kmp_wait_sleep

kmp_join_barrier

kmp_internal_join

kmp_join_call

kmpc_fork_call

_mkl_lapack_dgeqrf

?

mkl_lapack_dgels

degls

Dont know if I call the function correctly, since the documentation on this function is not clear for me (didnt understand lda and ldb), but it certainly works under 10 Update 1.

Other functions like the fft ones still work.

Thanks for any help

0 Kudos
6 Replies
TimP
Honored Contributor III
1,051 Views
lda and ldb are the "leading dimensions" of matrices a and b (the length of the columns as actually stored, in case they are stored in a matrix which is dimensioned larger than necessary). The minimum values are OK:
http://www.netlib.org/lapack/double/dgels.f
Also, check that your lwork value is sufficient, preferably at least "optimal."

0 Kudos
andipandi
Beginner
1,051 Views

Thx for your reply!

Lwork is big enough, after all, from the documentation I understood that the function generates an error in the info variable but returns immediately?!

But in my case, the dgels function just hangs (with the call stack as written in my last post).

For lda I simply take m, as for ldb as well (since it should be max(m,n)?) since I always have an overdetermined matrix with m > n.

But, like I said, it hangs, without an error message. And I tried with 2 different installs of the MKL 10 Update 2, where the same code works with MKL 10 Update 1.

If this adds any information, I have an overdetermined system that I try to approximate, with just a 1-dimensional result vector b. trans = 'N'.

0 Kudos
andipandi
Beginner
1,051 Views

Anyone at Iintel willing to answer my question?

Or maybe ask some question where I need to provide further details?

By the way, when debugging/testing, I call this code during an "attach dll". Might this cause any problems (no threads can be created at this point).

0 Kudos
TimP
Honored Contributor III
1,051 Views
It looks like you should file a problem report on premier.intel.com, providing the test case which shows the different behavior of these MKL versions.
0 Kudos
andipandi
Beginner
1,051 Views

So.. like I mentioned, the problem occured during startup, so I suppose that in the new version you have some kind of clever threading implemented which - in the startup (dll attachment) does not work (creation of threads is delayed till after attachment).

When calling the code at a later point, there is no problem.

I also changed to custom building an MKL dll due to other problems..

Problem solved, and many thanks!

0 Kudos
rahewin
Beginner
1,051 Views

I also encountered the same problem. So how do you fix it?

0 Kudos
Reply