Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
mkl_sparse_set_sm_hint
Allows user to provide an estimate of the number and type of upcoming triangular matrix solve with multiple right hand sides operations and in conjunction with mkl_sparse_optimize allows the library to perform some internal analysis to optimize these operations. See mkl_sparse_trsm for details of the triangular matrix solve with multiple right hand sides operation.
Syntax
stat = mkl_sparse_set_sm_hint ( A, operation, descr, layout, dense_matrix_size, expected_calls )
Include Files
mkl_spblas.f90
Description
The mkl_sparse_set_sm_hint routine allows the user to provide an estimate of the number of upcoming triangular matrix solve with multiple right hand sides operations and type of these operations. All such hints must be called before mkl_sparse_optimize which will allow the library to perform some internal analysis to optimize these operations.
Input Parameters
operation
C_INT.
Specifies the operation performed on matrix A:
operation |
Description |
|---|---|
SPARSE_OPERATION_NON_TRANSPOSE |
\(op(A) = A\) |
SPARSE_OPERATION_TRANSPOSE |
\(op(A) = A^{T}\) |
SPARSE_OPERATION_CONJUGATE_TRANSPOSE |
\(op(A) = A^{H}\) |
descr
MATRIX_DESCR .
Descriptor specifying sparse matrix properties.
sparse_matrix_type_t type |
Specifies the type of a sparse matrix:
|
sparse_fill_mode_t mode |
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
|
sparse_diag_type_t diag |
Specifies diagonal type for non-general matrices:
|
layout
C_INT .
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
C_INT.
Number of right-hand-side.
expected_calls
C_INT.
Number of expected calls to execution routine.
Output Parameters
A
SPARSE_MATRIX_T .
Handle containing internal data.
stat
INTEGER
Value indicating whether the operation was successful, and if not, why:
SPARSE_STATUS_SUCCESS |
The operation was successful or an additional optimization is currently not available. |
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. |
Return Values
See Output Parameter, stat.