Intel® MKL and C++ template libraries

Software developers wanting to enjoy the performance benefits of  Intel® Math Kernel Library (Intel® MKL) in C++ environments can use popular open source C++ template libraries and link them with Intel MKL. These higher-level libraries enable users to leverage abstracted C++ classes to perform vector math, BLAS, LAPACK and some sparse computations while also achieving performance similar to what Intel MKL library provides.

To discover more about the C++ libraries available, refer to the documentation available at the links below.

C++ math library

Supported MKL functionality

Eigen

http://eigen.tuxfamily.org/dox-devel/TopicUsingIntelMKL.html

BLAS (level 2, 3)

LAPACK(LU, Cholesky, QR, SVD, Eigvalues, Shur)

VML

PARDISO

Armadillo

http://sourceforge.net/projects/arma/

BLAS (dot, gemv, gemm)

LAPACK (LU, Cholesky, QR, SVD, Eigvalues)

MTL4  http://www.mtl4.org/

 

BLAS (gemm)

LAPACK (LU)

BOOST uBLAS

http://www.boost.org/doc/libs/1_35_0/libs/numeric/ublas/doc/index.htm

together with BOOST numeric bindings

http://mathema.tician.de//software/boost-bindings

BLAS

LAPACK

Trilinos

http://trilinos.sandia.gov/

BLAS

LAPACK

Notes:

Issues found in the C++ libraries listed in the table above should be reported to the open source library owners. Any issues determined to be caused by Intel MKL should be reported on the  Intel MKL forum or Online Service Center

For more complete information about compiler optimizations, see our Optimization Notice.