Developer Reference

Contents

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
    T
    - transpose of
    A
    ;
  • op(
    A
    ) =
    A
    H
    - 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).
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”
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804