Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library macOS*

ID 766688
Date 11/07/2023
Public
Document Table of Contents

Functions Threaded with Intel® Threading Building Blocks

In this section, ? stands for a precision prefix or suffix of the routine name and may have the value of s, d, c, or z.

The following Intel® oneAPI Math Kernel Library (oneMKL) function domains are threaded with Intel® Threading Building Blocks (oneTBB):

  • LAPACK.

    For a list of threaded routines, see LAPACK Routines.

  • Entire Level3 BLAS.

  • Level2 BLAS – ?GEMV.

  • Fast Poisson, Laplace, and Helmholtz Solver (Poisson Library).

  • All Vector Mathematics functions (except service functions).

  • Intel® oneAPI Math Kernel Library (oneMKL) PARDISO, a direct sparse solver based on Parallel Direct Sparse Solver (PARDISO*).

    For details, see oneMKL PARDISO Steps.

  • Sparse BLAS.

    For a list of threaded routines, see Sparse BLAS Routines.

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.

Notice revision #20201201

LAPACK Routines

The following LAPACK routines are threaded with oneTBB:
?geqrf, ?gelqf, ?getrf, ?potrf, ?unmqr*, ?ormqr*, ?unmrq*, ?ormrq*, ?unmlq*, ?ormlq*, ?unmql*, ?ormql*, ?sytrd, ?hetrd, ?syev, ?heev, and ?latrd.

A number of other LAPACK routines, which are based on threaded LAPACK or BLAS routines, make effective use of oneTBB threading:
?getrs, ?gesv, ?potrs, ?bdsqr, and ?gels.

oneMKL PARDISO Steps

Intel® oneAPI Math Kernel Library (oneMKL) PARDISO is threaded with oneTBB in the reordering and factorization steps. However, routines performing the solving step are still called sequentially when using oneTBB.

Sparse BLAS Routines

The Sparse BLAS inspector-executor application programming interface routines mkl_sparse_?_mv are threaded with oneTBB for the general compressed sparse row (CSR) and block sparse row (BSR) formats.

The following Sparse BLAS inspector-executor application programming routines are threaded with oneTBB:

  • mkl_sparse_?_mv using the general compressed sparse row (CSR) and block sparse row (BSR) matrix formats.

  • mkl_sparse_?_mm using the general CSR sparse matrix format and both row and column major storage formats for the dense matrix.