Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Routines and Supported Operations

This section describes operations supported by the Intel® oneAPI Math Kernel Library (oneMKL) Sparse BLAS Level 2 and Level 3 routines. The following notations are used here:

  • A is a sparse matrix;

  • B and C are dense matrices;

  • D is a diagonal scaling matrix;

  • x and y are dense vectors;

  • alpha and beta are scalars;

op(A) is one of the possible operations:

  • op(A) = A;

  • op(A) = AT - transpose of A;

  • op(A) = AH - conjugated transpose of A.

inv(op(A)) denotes the inverse of op(A).

The Intel® oneAPI Math Kernel Library (oneMKL) Sparse BLAS Level 2 and Level 3 routines support the following operations:

  • computing the vector product between a sparse matrix and a dense vector:

    y := alpha*op(A)*x + beta*y

  • solving a single triangular system:

    y := alpha*inv(op(A))*x

  • computing a product between sparse matrix and dense matrix:

    C := alpha*op(A)*B + beta*C

  • solving a sparse triangular system with multiple right-hand sides:

    C := alpha*inv(op(A))*B

Intel® oneAPI Math Kernel Library (oneMKL) provides an additional set of the Sparse BLAS Level 2 routines withsimplified interfaces. Each of these routines operates on a matrix of the fixed type. The following operations are supported:

  • computing the vector product between a sparse matrix and a dense vector (for general and symmetric matrices):

    y := op(A)*x

  • solving a single triangular system (for triangular matrices):

    y := inv(op(A))*x

Matrix type is indicated by the field <mtype> in the routine name (see section Naming Conventions in Sparse BLAS Level 2 and Level 3).

NOTE:

The routines with simplified interfaces support only four sparse matrix storage formats, specifically:

  • CSR format in the 3-array variation accepted in the direct sparse solvers and in the CXML;

  • diagonal format accepted in the CXML;

  • coordinate format;

  • BSR format in the 3-array variation.

Note that routines with both typical (conventional) and simplified interfaces use the same computational kernels that work with certain internal data structures.

The Intel® oneAPI Math Kernel Library (oneMKL) Sparse BLAS Level 2 and Level 3 routines do not support in-place operations.

Complete list of all routines is given in the “Sparse BLAS Level 2 and Level 3 Routines”.