Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
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”.