I was wondering what is a more optimized open source BLAS/LAPACK package with respect to modern multi-core processors (Haswell and beyond). Is there any distribution that can attain performance close to that of Intel MKL for instance?

In addition to Intel, which libraries may perform well on AMD architectures for Zen gen1 and Zen gen2 ?

I was hoping that the answer can be based on actual performance analysis work.

Thanks Michael

  • 9
    $\begingroup$ I don't have concrete numbers, but in my experience, OpenBLAS has given me close to MKL performance. (To be specific, this was for NumPy/SciPy linked against MKL -- before they changed their noncommercial license policy -- vs. OpenBLAS.) As a bonus, getting things to work with OpenBLAS was much less painful, too. $\endgroup$ Mar 5, 2016 at 0:07
  • 1
    $\begingroup$ In which classes of problems was OpenBLAS close to MKL? Have you ever compared OpenBLAS against GotoBLAS or ATLAS? $\endgroup$
    – tamumiket
    Mar 7, 2016 at 3:47
  • 3
    $\begingroup$ In particular, this post on StackExchange should exhaustively answer your question: stackoverflow.com/a/7645939. Be aware that the numbers could be very different depending on the precise problem you are trying to solve. $\endgroup$ Mar 7, 2016 at 8:27
  • 4
    $\begingroup$ Talking about performance - you may consider using flexiblas which lets you switch the BLAS backend at runtime. mpi-magdeburg.mpg.de/projects/flexiblas (disclaimer: flexiblas was developed by my colleagues) $\endgroup$
    – Jan
    Mar 7, 2016 at 23:05
  • 3
    $\begingroup$ IMHO, BLIS is the current gold standard for open source BLAS on these architectures: github.com/flame/blis (Disclaimer: Poster is part of the BLIS project.) $\endgroup$ Jun 20, 2018 at 17:01


Your Answer

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

Browse other questions tagged or ask your own question.