C++ Template Libraries and Intel® oneAPI Math Kernel Library

ID 659725
Updated 8/27/2024
Version Latest
Public

author-image

By

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 use abstracted C++ classes to perform vector math, BLAS, LAPACK, and some sparse computations while achieving performance similar to what the oneMKL library provides.

To discover more about available C++ libraries, see the documentation linked in the following table.
 

C++ Math Library

Supported oneMKL Functionality

Eigen

BLAS (level 2, 3)

LAPACK (LU factorization, Cholesky, QR factorization, singular value decomposition [SVD], Eigenvalues, Schur)

VML

PARDISO*

Armadillo

BLAS (DOT, GEMV, GEMM)

LAPACK (LU factorization, Cholesky, QR factorization, SVD, Eigenvalues)

Boost uBLAS

BLAS

LAPACK

Trilinos

BLAS

LAPACK

 

Note Issues found in the C++ libraries listed in this table should be reported to the open source library owners. Any issues determined to be caused by oneMKL should be reported on the Developer Software Forums or Online Service Center.