hipsparsesgemmi Interface Reference

hipsparsesgemmi Interface Reference#

HIPFORT API Reference: hipfort_hipsparse::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 nnz elements of the sparse CSC matrix \(B\).
[in]cscColPtrB- array of n+1 elements that point to the start of every column of the sparse CSC matrix \(B\).
[in]cscRowIndB- array of nnz elements 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_SUCCESSthe operation completed successfully.
HIPSPARSE_STATUS_NOT_INITIALIZEDhandle is not initialized.
HIPSPARSE_STATUS_INVALID_VALUEhandle, alpha or beta is nullptr, m, n, k, or nnz is negative, lda or ldc is invalid, or A, cscValB, cscColPtrB, cscRowIndB, or C is 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: