Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
6 Views

Info 512 returned by 'dsyevr' in the Intel MKL library

Hi,

We use Intel MKL 10.1.1.019 for numerical calculation in C++. The 'dsyevr' function is used for eigenvalue decomposition. It works as expected in most cases. But for some cases, it returns info = 512. According to the doc, it means internal error in the Intel MKL library. I wonder what info 512 means exactly for the error.
It is a single threaded calculation. The matrix size is4000 x 4000 at most. Any input will be appreciated.



0 Kudos
5 Replies
Highlighted
Moderator
6 Views

Hello dengzj,
we had the similar problems with dsyevr which has been fixed in 10.2 update 3 versions.
You can check if this issue persists into thelatest10.3 version. ( please try the evaluation version for checking the problem and let us know if anyfurtherproblems).
--Gennady
0 Kudos
Highlighted
Beginner
6 Views

Hello Gennady,

Thanks for the reply. We will follow your advice and see if the problem will go away.

Meanwhile, I wonder if some hints could be given onwhat kind of error it is. Any chances that it could be caused by user errors? Orany precautionsthe users cantakein their code tolower the probability of stepping into the same situation again?

Anyhow, thank you very much for the suggestion.
0 Kudos
Highlighted
Beginner
6 Views

Hi Gennady,

Would you mind one more question? If info=511 is returned, is it some kind of error similar to info=512? Will it go away by trying the 10.2 update 3 or later versions? Thanks again.
0 Kudos
Highlighted
6 Views

Hello dengzj,

Behavior of DSYEVR in Intel MKL corresponds to the function available in NETLIB LAPACK. And there isdefinitelycould be a better description for values of INFO. The positive values represents following:
1. For JOBZ='N' this is the INFO value returned by underlying DSTEBZ (0<5, see description of DSTEBZ for more details)
2. For JOBZ='V' this is the INFO value returned by underlyingDSTEIN and means number ofeigenvectors failed to converge. IWORK(2*N:2*N+N-1)stores the indices of eigenvectorsthat corresponding to eigenvectors that fail to converge.

So the reported INFO could relate to how the MRRR algorithm handles your input data.You could try other symmetrical eigensolvers which in general more stable in terms of finding solution to see if they could solve you task: DSYEVD (similar by performance) and DSYEV (slower due higher operations count).

W.B.R.
Alexander
0 Kudos
Highlighted
Beginner
6 Views


Thank you all for the help.

0 Kudos