Software developers wanting to enjoy the performance benefits of Intel® oneAPI Math Kernel Library (oneMKL) in C++ environments can use popular open source C++ template libraries and link them with oneMKL. 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 oneMKL library provides.
To discover more about the C++ libraries available, refer to the documentation available at the links below.
C++ math library |
Supported oneMKL functionality |
Eigen http://eigen.tuxfamily.org/dox-devel/TopicUsingIntelMKL.html |
BLAS (level 2, 3) LAPACK(LU, Cholesky, QR, SVD, Eigvalues, Shur) VML PARDISO |
Armadillo |
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 |
BLAS LAPACK |
Trilinos |
BLAS LAPACK |
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 oneMKL should be reported on the oneMKL forum or Online Service Center