Computes the product of two sparse matrices and stores the result as a sparse matrix.

Syntax

sparse_status_t mkl_sparse_spmm (sparse_operation_t operation, const sparse_matrix_t A, const sparse_matrix_t B, sparse_matrix_t *C);

Include Files

  • mkl_spblas.h

Description

The mkl_sparse_spmm routine performs a matrix-matrix operation:

C := op(A) *B

where A, B, and C are sparse matrices.

Note

This routine is only supported for sparse matrices in CSC, CSR, and BSR formats. It is not supported for sparse matrices in COO format.

Input Parameters

operation

Specifies operation op() 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.

A

Handle containing a sparse matrix in internal data structure.

B

Handle containing a sparse matrix in internal data structure.

Output Parameters

C

Handle containing the resulting sparse matrix in internal data structure.

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.

Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.
Выберите цвет фиксируемой кнопки: 
Orange (only for download buttons)