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

problem with potrf_scratchpad_size call

tdot
Beginner
885 Views

The call in question is:

std::int64_t scratchSzF = oneapi::mkl::lapack::potrf_scratchpad_size<std::complex<double>>(_queue, oneapi::mkl::uplo::upper, nnn, nnn);

 

In order to run without getting an invalid exception when called the 'lda' value must be= or greater than the matrix order value 'n'.  In the example above the arguments are 'nnn'.  

With 'nnn' value of 100 the call is satisfied and scratchSzF value of 0 is returned.

So;

- Why does 'lda' have to be equal matrix size 'n'?  In fact 'lda' it can be greater than 'n'!?

- More importantly the return value of 0?

 

  • Running on Linux5.4.17 x86_64
  • mkl installed version is 2023.0.0

 

 

0 Kudos
3 Replies
VarshaS_Intel
Moderator
842 Views

Hi,


Thanks for posting in Intel Communities.


>>In the example above the arguments are 'nnn'. 

Could you please provide us with the example you are referring to?


And also, could you please elaborate on your issue?


Thanks & Regards,

Varsha


0 Kudos
tdot
Beginner
815 Views

Referring to the call found at potrf_scratchpad_size (intel.com).  

scratchPadSize = oneapi::mkl::lapack::potrf_scratchpad_size<std::complex<double>>(_queue, oneapi::mkl::uplo::upper, n, lda);

 

If the value provided for lda is < the value provided for an exception is thrown identifying the lda  as the bad argument. If the value for lda is equal to or greater than the value for n no exception is thrown however the scratchPadSize retuned is 0.  In my code the value for n and lda is set to 100 to avoid the exception.  The 100 value represents a 10x10 complex data matrix.

My questions are;

  • Is it true/correct that  lda >= n?  
  • When given values to avoid the exception is a return of 0 correct?

 

Related to this issue, and to be posted separately.  This is the first 4 successive calls to MKL LAPACK routines.

  1. potrf_scratchpad_size
  2. potrf - need above to work since it uses the calculated size.  If I give it a value > 100 an exception is thrown on the value provided
  3. potri _scratchpad_size - this exhibits the same problem.
  4. potri  

cheers

0 Kudos
VarshaS_Intel
Moderator
779 Views

Hi,


We are working on your issue internally, we will get back to you soon.


Thanks & Regards,

Varsha


0 Kudos
Reply