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

What is the unit of workspace query?

Ye_C_1
Beginner
248 Views

For the scalapack, when I set the lwork = -1, I can get a result from work[0].

For example, the work[0] == 900000000.

So the lwork = 900000000. 

How about the length of work? is it  lwork * sizeof(double), or just lwork?

should I use work = new double[900000000] or work = (double *)malloc(900000000)?

0 Kudos
1 Reply
mecej4
Honored Contributor III
248 Views

MKL routine arguments with the name 'work' and 'iwork' have corresponding arguments that are equal to the size (i.e., the number of elements in the array) of the 'work' and 'iwork' arrays.

It is best not to think in terms of bytes in this context, since the number of bytes = lwork X byte size of one element of 'work', and 'work' may be float, double, complex or double complex.

0 Kudos
Reply