mkl_sparse_set_mm_hint
mkl_sparse_set_mm_hint
Provides estimate of number and type of upcoming matrix-matrix multiplication operations.
Syntax
sparse_status_t mkl_sparse_set_mm_hint
(
const sparse_matrix_t
A
,
const sparse_operation_t
operation
,
const struct
matrix_descr
descr
,
const sparse_layout_t
layout
,
const MKL_INT
dense_matrix_size
,
const MKL_INT
expected_calls
);
Include Files
- mkl_spblas.h
Description
The
mkl_sparse_set_mm_hint
routine provides an estimate of the number of upcoming matrix-matrix multiplication operations and type of these operations for performance optimization purposes.Optimization Notice
|
---|
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
|
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.
Input Parameters
- operation
- Specifies operationop()on input matrix.
- SPARSE_OPERATION_NON_TRANSPOSE
- Non-transpose,op(.A) =A
- SPARSE_OPERATION_TRANSPOSE
- Transpose,op(.A) =AT
- SPARSE_OPERATION_CONJUGATE_TRANSPOSE
- Conjugate transpose,op(.A) =AH
- descr
- Structurespecifying sparse matrix properties.sparse_matrix_type_ttype- Specifies the type of a sparse matrix:
- SPARSE_MATRIX_TYPE_GENERAL
- The matrix is processed as is.
- SPARSE_MATRIX_TYPE_SYMMETRIC
- The matrix is symmetric (only the requested triangle is processed).
- SPARSE_MATRIX_TYPE_HERMITIAN
- The matrix is Hermitian (only the requested triangle is processed).
- SPARSE_MATRIX_TYPE_TRIANGULAR
- The matrix is triangular (only the requested triangle is processed).
- SPARSE_MATRIX_TYPE_DIAGONAL
- The matrix is diagonal (only diagonal elements are processed).
- SPARSE_MATRIX_TYPE_BLOCK_TRIANGULAR
- The matrix is block-triangular (only requested triangle is processed). Applies to BSR format only.
- SPARSE_MATRIX_TYPE_BLOCK_DIAGONAL
- The matrix is block-diagonal (only diagonal blocks are processed). Applies to BSR format only.
sparse_fill_mode_tmode- Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:- SPARSE_FILL_MODE_LOWER
- The lower triangular matrix part is processed.
- SPARSE_FILL_MODE_UPPER
- The upper triangular matrix part is processed.
sparse_diag_type_tdiag- Specifies diagonal type for non-general matrices:- SPARSE_DIAG_NON_UNIT
- Diagonal elements might not be equal to one.
- SPARSE_DIAG_UNIT
- Diagonal elements are equal to one.
- layout
- Specifies layout of elements:
- SPARSE_LAYOUT_COLUMN_MAJOR
- Storage of elements uses column major layout.
- SPARSE_LAYOUT_ROW_MAJOR
- Storage of elements uses row major layout.
- dense_matrix_size
- Number of columns in dense matrix.
- expected_calls
- Number of expected calls to execution routine.
Output Parameters
- A
- Handle containing internal data.
Return Values
The function returns a value indicating whether the operation was successful or not, and why.
- SPARSE_STATUS_SUCCESS
- The operation was successful.
- SPARSE_STATUS_NOT_INITIALIZED
- The routine encountered an empty handle or matrix array.
- SPARSE_STATUS_ALLOC_FAILED
- Internal memory allocation failed.
- SPARSE_STATUS_INVALID_VALUE
- The input parameters contain an invalid value.
- SPARSE_STATUS_EXECUTION_FAILED
- Execution failed.
- SPARSE_STATUS_INTERNAL_ERROR
- An error in algorithm implementation occurred.
- SPARSE_STATUS_NOT_SUPPORTED
- The requested operation is not supported.