hipsparsesgemmi Interface Reference#
hipfort_hipsparse::hipsparsesgemmi Interface Reference
Dense matrix sparse matrix multiplication using the CSC storage format. More...
Public Member Functions | |
| integer(kind(hipsparse_status_success)) function | hipsparsesgemmi_ (handle, m, n, k, nnz, alpha, a, lda, cscvalb, csccolptrb, cscrowindb, beta, c, ldc) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgemmi_rank_0 (handle, m, n, k, nnz, alpha, a, lda, cscvalb, csccolptrb, cscrowindb, beta, c, ldc) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgemmi_rank_1 (handle, m, n, k, nnz, alpha, a, lda, cscvalb, csccolptrb, cscrowindb, beta, c, ldc) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgemmi_full_rank (handle, m, n, k, nnz, alpha, a, lda, cscvalb, csccolptrb, cscrowindb, beta, c, ldc) |
Detailed Description
Dense matrix sparse matrix multiplication using the CSC storage format.
hipsparseXgemmi multiplies the scalar \(\alpha\) with a dense column-oriented \(m
\times k\) matrix \(A\) and the sparse \(k \times n\) matrix \(B\), defined in CSC storage format, and adds the result to the dense column-oriented \(m \times n\) matrix \(C\) that is multiplied by the scalar \(\beta\), such that
\[ C := \alpha \cdot A \cdot B + \beta \cdot C \]
- Note
- This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
- Deprecated:
- This function is deprecated when using the CUDA backend (CUDA 11.0+) and will be removed in CUDA 12.0. This deprecation does not apply to the ROCm backend.
- Parameters
-
[in] handle - handle to the hipSPARSE library context queue. [in] m - number of rows of the dense matrix \(A\). Must be non-negative. [in] n - number of columns of the sparse CSC matrix \(op(B)\) and \(C\). Must be non-negative. [in] k - number of columns of the dense matrix \(A\). Must be non-negative. [in] nnz - number of non-zero entries of the sparse CSC matrix \(B\). Must be non-negative. [in] alpha - scalar \(\alpha\). [in] A - array of dimension \(lda \times k\) ( \(op(A) == A\)) or \(lda \times m\) ( \(op(A) == A^T\) or \(op(A) == A^H\)). [in] lda - leading dimension of \(A\), must be at least \(m\) ( \(op(A) == A\)) or \(k\) ( \(op(A) == A^T\) or \(op(A) == A^H\)). [in] cscValB - array of nnzelements of the sparse CSC matrix \(B\).[in] cscColPtrB - array of n+1elements that point to the start of every column of the sparse CSC matrix \(B\).[in] cscRowIndB - array of nnzelements containing the column indices of the sparse CSC matrix \(B\).[in] beta - scalar \(\beta\). [in,out] C - array of dimension \(ldc \times n\) that holds the values of \(C\). [in] ldc - leading dimension of \(C\), must be at least \(m\).
- Return values
-
HIPSPARSE_STATUS_SUCCESS the operation completed successfully. HIPSPARSE_STATUS_NOT_INITIALIZED handleis not initialized.HIPSPARSE_STATUS_INVALID_VALUE handle,alphaorbetais nullptr,m,n,k, ornnzis negative,ldaorldcis invalid, orA,cscValB,cscColPtrB,cscRowIndB, orCis nullptr.
Member Function/Subroutine Documentation
◆ hipsparsesgemmi_()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgemmi::hipsparsesgemmi_ | ( | type(c_ptr), value | handle, |
| integer(c_int), value | m, | ||
| integer(c_int), value | n, | ||
| integer(c_int), value | k, | ||
| integer(c_int), value | nnz, | ||
| real(c_float) | alpha, | ||
| type(c_ptr), value | a, | ||
| integer(c_int), value | lda, | ||
| type(c_ptr), value | cscvalb, | ||
| type(c_ptr), value | csccolptrb, | ||
| type(c_ptr), value | cscrowindb, | ||
| real(c_float) | beta, | ||
| type(c_ptr), value | c, | ||
| integer(c_int), value | ldc | ||
| ) |
◆ hipsparsesgemmi_full_rank()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgemmi::hipsparsesgemmi_full_rank | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| integer(c_int) | k, | ||
| integer(c_int) | nnz, | ||
| real(c_float) | alpha, | ||
| real(c_float), dimension(:,:), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:), target | cscvalb, | ||
| integer(c_int), dimension(:), target | csccolptrb, | ||
| integer(c_int), dimension(:), target | cscrowindb, | ||
| real(c_float) | beta, | ||
| real(c_float), dimension(:,:), target | c, | ||
| integer(c_int) | ldc | ||
| ) |
◆ hipsparsesgemmi_rank_0()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgemmi::hipsparsesgemmi_rank_0 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| integer(c_int) | k, | ||
| integer(c_int) | nnz, | ||
| real(c_float) | alpha, | ||
| real(c_float), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), target | cscvalb, | ||
| integer(c_int), target | csccolptrb, | ||
| integer(c_int), target | cscrowindb, | ||
| real(c_float) | beta, | ||
| real(c_float), target | c, | ||
| integer(c_int) | ldc | ||
| ) |
◆ hipsparsesgemmi_rank_1()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgemmi::hipsparsesgemmi_rank_1 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| integer(c_int) | k, | ||
| integer(c_int) | nnz, | ||
| real(c_float) | alpha, | ||
| real(c_float), dimension(:), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:), target | cscvalb, | ||
| integer(c_int), dimension(:), target | csccolptrb, | ||
| integer(c_int), dimension(:), target | cscrowindb, | ||
| real(c_float) | beta, | ||
| real(c_float), dimension(:), target | c, | ||
| integer(c_int) | ldc | ||
| ) |
The documentation for this interface was generated from the following file: