0

Context: I am using LAPACK/BLAS/MKL in C to diagonalize and multiply matrices of side length O(10000). Normally, diagonalization procedures like zheev and dsyev in LAPACK/MKL require additional memory. This is allocated by passing LWORK=-1 and then allocating the returned value. Most interfaces provide a way to take this extra code away and just pass on the array values, while the explicit interface is available with an extra _work in the name.

However, the documentation for matrix multiplication routines like dgemm and zgemm does not mention any such working space requirements.

Question: I want to know if there is actually a memory requirement, but it is just hidden away, and I haven't found it despite looking for it? Or is there no additional memory requirement?

Purpose: Asking this as I need to know memory requirements in order to run the code on a HPC cluster.

adch99
  • 340
  • 1
  • 7
  • 2
    Hi, As per the Intel MKL documentation which was referred by you, the routines which contain LWORK = -1 require additional memory and the others do not require any additional memory. – Shanmukh-Intel Feb 05 '23 at 17:54

0 Answers0