Routines and Supported Operations

This section describes operations supported by the Intel MKL 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) = A' - transpose of A;

  • op(A) = conj(A') - conjugated transpose of A.

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

The Intel MKL 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 MKL provides an additional set of the Sparse BLAS Level 2 routines with simplified 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 MKL 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”.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.