Go to main content
Oracle® Developer Studio 12.6: Performance Library User's Guide

Exit Print View

Updated: July 2017
 
 

Sparse BLAS

The Oracle Developer Studio Performance Library Sparse BLAS package is based on the following two packages:

  • Netlib Sparse BLAS package, by Dodson, Grimes, and Lewis consists of sparse extensions to the Basic Linear Algebra Subroutines that operate on sparse vectors.

  • NIST (National Institute of Standards and Technology) Fortran Sparse BLAS Library consists of routines that perform matrix products and solution of triangular systems for sparse matrices in a variety of storage formats.

Refer to the following sources for additional Sparse BLAS information.

The Netlib Sparse BLAS and NIST Fortran Sparse BLAS Library routines each use their own naming conventions, as described in the following sections.

Netlib Sparse BLAS

Each Netlib Sparse BLAS routine has a name of the form Prefix-Root-Suffix:

  • Prefix represents the data type.

  • Root represents the operation.

  • Suffix represents whether or not the routine is a direct extension of an existing dense BLAS routine.

The following table lists the naming conventions for the Netlib Sparse BLAS vector routines.

Table 2  Netlib Sparse BLAS Naming Conventions
Operation
Root of Name
Prefix and Suffix
Dot product
-DOT-
S-I D-I C-UI Z-UI C-CI Z-CI
Scalar times a vector added to a vector
-AXPY-
S-I D-I C-I Z-I
Apply Givens rotation
-ROT-
S-I D-I
Gather x into y
-GTHR-
S- D- C- Z- S-Z D-Z C-Z Z-Z
Scatter x into y
-SCTR-
S- D- C- Z-

The prefix can be one of the following data types:

  • S: SINGLE

  • D: DOUBLE

  • C: COMPLEX

  • Z: COMPLEX*16 or DOUBLE COMPLEX

The I, CI, and UI suffixes denote sparse BLAS routines that are direct extensions to dense BLAS routines.

NIST Fortran Sparse BLAS

Each NIST Fortran Sparse BLAS routine has a six-character name of the form XYYYZZ where:

  • X represents the data type.

  • YYY represents the sparse storage format.

  • ZZ represents the operation.

The following table shows the possible values for X, YYY, and ZZ.

Table 3  NIST Fortran Sparse BLAS Routine Naming Conventions
Variables for a Routine Name
Acceptable Values and Meaning
X – Specifies the data type using one character
  • S: single precision

  • D: double precision

  • C: complex

  • Z: double complex

YYY – Specifies the sparse storage format using three characters
Single entry formats:
  • CSC: compressed sparse column

  • COO: coordinate

  • CSR: compressed sparse row

  • DIA: diagonal

  • ELL: ellpack

  • JAD: jagged diagonal

  • SKY: skyline

Block entry formats:
  • BCO: block coordinate

  • BSC: block compressed sparse column

  • BSR: block compressed sparse row

  • BDI: block diagonal

  • BEL: block ellpack

  • VBR: block compressed sparse row

ZZ – Specifies the operation using two characters
  • MM: matrix-matrix product

  • SM: solution of triangular system (supported for all formats except COO)

  • RP: right permutation (for JAD format only)