- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to diagonalize a square matrix of size N=73789, with a MKL LAPACKE_dsyevr, and
need to find all the eigenvalues and eigenvectors. The machine I am running on uses
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.2.199 Build 20180210
and has 3TB of RAM. The matrix itself occupies ~44 G. The code calls the
info = LAPACKE_dsyevr( LAPACK_COL_MAJOR, 'V', 'A', 'U', N, A, LDA,
vl, vu, il, iu, abstol, &m, W, Z, LDZ, ISUPPZ );
successfully, and spends about ~6000 minutes in the routine (it multithreads with the available processors),
and the memory requirement is steady.
However, when it seems it is nearly finished, there is a segmentation fault (core dumped).
Can anyone tell me why this is happening? Or if this is too big a matrix to be used with dsyevr?
Thanks,
Debasish
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Debasish.
It looks like a issue with syevr. But actually if this is the real issue, then this an unknow issue for MKL 2018 u3. Could you try another routine like syev or syevd? btw, do you use ILP64 API?
Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gennady,
Thanks for your reply. I don't use ILP64 API.
I could try using syev or syevd but I am afraid that the memory might explode, since it is well-known
that the divide-and-conquer requires much more memory than the relatively-robust-representations.
But I will try this, and if the issue persists, come back.
Debasish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am attaching my code here for the LAPACKE_dsyevr. This fails for NxN matrices with N=80,000, (but works fine for N=40,000).
It complains of segmentation fault, even though enough memory is available to the routine (I am using a 3TB RAM).
Could you please spot any bad memory allocation in the code?
I am using Intel MKL 2018.
Thanks in advance,
Debasish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the test. Could you please try to use ILP64 and check if the problem will still exist!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I can confirm that the issue goes away when compiling and running with -ILP64. I can reach matrices upto ~ NxN with
N = 8*10^4.
Thanks for the suggestion,
Debasish

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page