Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

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

JL
Beginner
1,421 Views

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
Honored Contributor III
1,421 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.

0 Kudos
Reply