Sparse BLAS Routines
The Intel® oneAPI Math Kernel Library provides a Data Parallel C++
interface to some of the Sparse BLAS routines. This section describes the Sparse
BLAS routines included in the Intel® oneAPI Math Kernel Library (oneMKL).
Sparse BLAS provides basic operations on sparse vectors and matrices and
separates them into three stages: initialization, analysis (also called
inspector stage or optimize stage) and execution. For a given matrix, the
analysis would typically be called one time and the execution may be
called multiple times. During the analysis stage, the API inspects the
matrix properties including size, sparsity pattern and available
parallelism and can apply matrix format or structure changes to enable
a more optimized algorithm. In the execution stage, multiple routine calls
can take advantage of the analysis stage data in order to improve performance.
The supported sparse formats in Sparse BLAS routines are described in Sparse Storage Formats.
Routine or Function Group | Data Types | Description |
---|---|---|
float, double | Set internal representation of sparse::matrix_handle_t to compressed sparse row (CSR) format with user provided CSR data arrays. | |
N/A | Populate the matmat_descr_t object with desired operation description. For use with sparse::matmat | |
N/A | Query the operation description housed in the matmat_descr_t object. For use with sparse::matmat | |
The currently supported sparse storage formats can be found in Sparse Storage Formats.