Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

lp64 library: array size limit, mkl

kisiel
Beginner
536 Views
Simple question: Intel mkl, usermanual page 32 says that the advantage of using ilp64 over lp64 is in the size of an integer. That is, with lp64 the number of elements in an array is 2^31 - 1. Does this only limit the max number of indexable elements in 1 dimension x[2^31 - 1], or is it the max number of array elements in an array of any number of dimensions?
0 Kudos
1 Reply
Konstantin_A_Intel
536 Views
Quoting kisiel
Simple question: Intel mkl, usermanual page 32 says that the advantage of using ilp64 over lp64 is in the size of an integer. That is, with lp64 the number of elements in an array is 2^31 - 1. Does this only limit the max number of indexable elements in 1 dimension x[2^31 - 1], or is it the max number of array elements in an array of any number of dimensions?

Hi, it's a nice question!

Usually, in MKL, the number of elements in array is passed via scalar argument, e.g.:

res=sasum(n,x,incx)

So, in general, you should use ILP64 taking into account limitations on either value and index of integer data.

Moreover, I know at least one MKL function (PARDISO) which have even stronger limitations- not more than ~500.000.000 elements in the matrix in LP64 mode.

Regards,
Konstantin
0 Kudos
Reply