Community
cancel
Showing results for 
Search instead for 
Did you mean: 
JL
Beginner
153 Views

What is the largest matrix that can be handled through LAPACK in mkl_lp64?

Hello,

I am having troubles with diagonalizing a symmetric matrix of size 40,000 x 40,000. Just storing the unique elements already exceeds the largest integer we can store with 32-bit. However, it does not exceed the limit of 64-bit integer.

I thought with LAPACK through mkl_lp64 I should be able to diagonalize this but it crashed with an error:

Intel MKL ERROR: Parameter 8 was incorrect on entry to DSYEVD.

The parameter 8 is lwork and it is above the maximum 32-bit integer. 

Is it the case that even with mkl_lp64 I cannot use LAPACK to diagonalize matrices of size 40,000 x40,000?

Should I be using mkl_ilp64?

Thank you!

0 Kudos
1 Reply
mecej4
Black Belt
153 Views

To call any MKL routine with the LP64 protocol, all actual arguments of type INTEGER must be 32-bit integers. If you need to pass integer arguments that need to be 64-bit integers, all integer arguments to MKL routines have to be 64-bit, as well, and you should use the ILP64 protocol.

You may find the MKL link line advisor ( at https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor ) helpful.

Reply