1
$\begingroup$

Every CPU vendor seems to make BLAS libraries that are specialized to run on their hardware. Do they do the same for LAPACK? Or is that a non-issue because LAPACK is written entirely in terms of BLAS library calls?

$\endgroup$
1
  • 1
    $\begingroup$ LAPACK's performance is mostly dependent on BLAS (mostly level 3). So vendors provide optimized (even multithreaded) version of BLAS and pretty much ship the vanilla version of LAPACK. $\endgroup$
    – stali
    Commented Apr 5, 2014 at 23:12

2 Answers 2

2
$\begingroup$

Vendor BLAS like Intel's MKL or AMD's ACML, and even GotoBLAS (now OpenBLAS) provide tuned versions of a tiny subset of Lapack, like linear solvers and least squares solvers. I imagine this is only because these routines are among the most commonly used in Lapack. Besides this, I think there might also be routines for eigensystems and such, but they certainly are not a complete Lapack implementation.

$\endgroup$
2
  • 3
    $\begingroup$ ACML explicitly states that they provide a FULL implementation of Lapack, and so far I have been unable to find the functions NOT implemented by MKL. Only OpenBLAS and ATLAS have the "tiny subset". $\endgroup$
    – LKlevin
    Commented Apr 6, 2014 at 8:16
  • $\begingroup$ Ah yes, you are correct. Although I doubt much of those full implementations is further optimized in any way. $\endgroup$
    – Victor Liu
    Commented Apr 6, 2014 at 16:55
2
$\begingroup$

So both Intel and AMD provide LAPACK-like software with their BLAS, called MKL and ACML respectively. I don't know if any of the ARM developers provide similar software.

The NETLIB version of LAPACK depends heavily on BLAS, and most of the performance gain could probably be had by simply linking NETLIB LAPACK against MKL or ACML BLAS.

I would guess the difference between NETLIB and MKL or ACML LAPACK would quite small, however as LAPACK is already part of the vendor BLAS distribution, there's no reason NOT to use that.

TLDR: They do distribute LAPACK, but it is mainly a non issue.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.