By the way (if anyone reads until there...), from my tests on a recent machine with 2x8 cores and AVX vector instructions, MKL is a lot faster than any other BLAS implementation, by a large difference. And Eigen is slooow.
FWIW, Eigen recently added support for AVX, providing 2x to 3x improvement in speed of matrix multiplication on recent CPUs: https://bitbucket.org/eigen/eigen/pull-request/42/added-support-for-avx-and-fma-to-eigen/diff On Fri, Oct 31, 2014 at 7:42 AM, Nicolas Limare <[email protected]> wrote: > Hi, > > For those interested, I spend a couple of more hours on this > matter. The result, rewritten and hopefully easier to understand, is > there: > http://limare.perso.math.cnrs.fr/notes/2014/10/31_cblas_clapack_lapacke/ > > For IPOL, the guidelines should be changed to: > 1. for BLAS, use the CBLAS C interface > 2. for LAPACK, use the LAPACK Fortran interface for gcc/gfortran > Once the IPOL server is upgraded and liblapacke instaled, it can become: > 1. for BLAS, use the CBLAS C interface > 2. for LAPACK, use the LAPACKE C interface > I will suggest a phrasing for these changes. > > For CBLAS on your development machines, you can use these libraries > > CBLAS BLAS > -------- -------- > MKL MKL > OpenBLAS OpenBLAS > ATLAS ATLAS > GSL - > Netlib Netlib > > For LAPACKE, I think the following stacks are possible with the proper > link option: > > LAPACKE LAPACK BLAS > -------- -------- -------- > MKL MKL MKL > Netlib OpenBLAS OpenBLAS > Netlib OpenBLAS ATLAS > Netlib Netlib ATLAS > Netlib Netlib Netlib > > On recent multi-core with AVX vector extensions, MKL is > faster. Otherwise, if your code depends on linear algebra, it's worth > trying to find the best option. > > All the best, > > -- > Nicolas LIMARE > http://nicolas.limare.net/ pgp:0xFA423F4F > > -- > IPOL - Image Processing On Line - http://ipol.im/ > > contact [email protected] - http://www.ipol.im/meta/contact/ > news+feeds twitter @IPOL_journal - http://www.ipol.im/meta/feeds/ > announces [email protected] - http://tools.ipol.im/mm/announce/ > discussions [email protected] - http://tools.ipol.im/mm/discuss/ > -- IPOL - Image Processing On Line - http://ipol.im/ contact [email protected] - http://www.ipol.im/meta/contact/ news+feeds twitter @IPOL_journal - http://www.ipol.im/meta/feeds/ announces [email protected] - http://tools.ipol.im/mm/announce/ discussions [email protected] - http://tools.ipol.im/mm/discuss/
