- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi

I am using feast extremel eigenvalue solver (dexample_extremal_ev_c1.c). for finding lowest eigenvalues. My matrix size is big 1 million cross 1 million. There are around 31 non zero values in each row. I can find lower 300 eigenvalues easily, but when I try to find 310 lower eigenvalues(meaning 10 more), my code got just crashed down and shows an error.

mkl_sparse_d_ev output info 2

Routine mkl_sparse_d_ev returns code of ERROR: 2Time taken: 19.06s

Please help me regarding this.

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

which version of mkl did you try?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

hi

I am using the newly released updated version (MKL 2019 Beta release).

I am clearly sure it's not the memory issue in my problem.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Kumar, the newest version is MKL 2019 which we released at the end of August this year. Could you try this? In the case if you will see the problem exists again, could you give us the reproducer?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi

Can you tell me the source of error in the code i sent earlier.

mkl_sparse_d_ev output info 2

Routine mkl_sparse_d_ev returns code of ERROR: 2

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi.

The problem is reproduced on our side with the latest version of mkl. We escalated the problem and will update this thread in the case of some news.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi

I installed the newest version MKL 2019. Here I have attached my code where my matric size is nearly 16milion with 16*37 million non zero matrix elements. I am trying to find 60 lowest eigenvalues. I am still getting the same error.

mkl_sparse_d_ev output info 2

Routine mkl_sparse_d_ev returns code of ERROR: 2

But I can evaluate 50 eigenvalues easily.

In my main.c code, I am generating the non zero matrix elements and in the end converting them to coordinate form. I provided the variable eigen_req as how many lowest eigenvalue I am seeking to find.

Please change the extension of compile.c, to compile.sh, where I am compiling the code using Intel MKL Library.

Please tell me if you do not understand something in my code.

Thanks.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi

This time I installed the latest version of intel MKL2019 update3

Still the problem persists while evaluating eigenvalue of large matrix.

mkl_sparse_d_ev output info 2

Routine mkl_sparse_d_ev returns code of ERROR: 2

I do get this error.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

That's correct. The problem is targeting to be fixed the next update. this thread will be updated accordingly as soon as this update will be released.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Thanks for reply.

Can you tell me which algorithm is used for solving "k lowest/Highest mode" in this subroutine "mkl_sparse_d_ev(&which, pm, A, descr, k0, &k, E, X, res)". As FEAST eigensolver solves linear equations exactly and it requires to store the factorization and it would be very tough for me to use the FEAST eigensolver for higher than "2^18*2^18" matrix.

But I am able to evaluate a significant number of lowest or highest eigenvalues using "mkl_sparse_d_ev" subroutine..

So I do suspect you guys might be using (IFEAST) Inexact version of FEAST. Please correct me about which algorithm intel uses for this subroutine.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

the fix of the problem available in mkl 2019 u4. Please check and let us know if the problem still exist on your side.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

The problem still exists.

When i try to evaluate K lowest/highest modes. After some particular value of K, say 50 for a matrix size 16million, I am not able able to evaluate and i get the error.

mkl_sparse_d_ev output info 2

Routine mkl_sparse_d_ev returns code of ERROR: 2

This error is escalated in this subroutine "mkl_sparse_d_ev(&which, pm, A, descr, k0, &k, E, X, res)"

Similarly for While evaluating inbetween eigenvalue for a matrix size (2^20 cross 2^20) , I can not evaluate and gets this error.

Intel MKL Extended Eigensolvers ERROR: Problem from Inner Linear System Solver

==>INFO code =: -2

This error is escalated in this subroutine "dfeast_scsrev ()";

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi,

Did you consider switching to ilp64 interface?

I believe, your problem may be to big for lp64 which leads to an error.

Best regards,

Maria

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi Maria

Thanks for this suggestion, I did not knew about this ILP64. And now my problem is solved by using this interface. I really appreciate your help. Can you tell me what algorithm does intel use for evaluating K lowest/Highest modes in this subroutin mkl_sparse_d_ev(&which, pm, A, descr, k0, &k, E, X, res). I do suspect intel does use Inexact version "IFEAST", because in FEAST algo does solve linear equations exactly and that task is very costly in ram and number of operation too.

Thanks.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi,

I'm glad that you problem has been resolved!

As for the algorithm question, please refer to the **pm** parameter description here (https://software.intel.com/en-us/mkl-developer-reference-c-extended-eigensolver-input-parameters-for-extremal-eigenvalue-problem):

pm[2] -- Specifies the algorithm to use:

0 - Decided at runtime

1 - Kryolov Schur method

2 - Subspace Iteration technique based on FEAST algorithm

Best regards,

Maria

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