hipsparseshybmv Interface Reference#
hipfort_hipsparse::hipsparseshybmv Interface Reference
Sparse matrix vector multiplication using the HYB storage format. More...
Public Member Functions | |
| integer(kind(hipsparse_status_success)) function | hipsparseshybmv_ (handle, transa, alpha, descra, hyba, x, beta, y) |
| integer(kind(hipsparse_status_success)) function | hipsparseshybmv_rank_0 (handle, transa, alpha, descra, hyba, x, beta, y) |
| integer(kind(hipsparse_status_success)) function | hipsparseshybmv_rank_1 (handle, transa, alpha, descra, hyba, x, beta, y) |
Detailed Description
Sparse matrix vector multiplication using the HYB storage format.
hipsparseXhybmv multiplies the scalar \(\alpha\) with a sparse \(m \times n\) matrix, defined in HYB storage format, and the dense vector \(x\) and adds the result to the dense vector \(y\) that is multiplied by the scalar \(\beta\), such that
\[ y := \alpha \cdot op(A) \cdot x + \beta \cdot y, \]
with
\[ op(A) = \left\{ \begin{array}{ll} A, & \text{if transA == HIPSPARSE_OPERATION_NON_TRANSPOSE} \end{array} \right. \]
- Note
- This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
-
Currently, only
transA==HIPSPARSE_OPERATION_NON_TRANSPOSEis supported.
- Deprecated:
- This function is deprecated when using the CUDA backend (CUDA 10.0+) and will be removed in CUDA 11.0. This deprecation does not apply to the ROCm backend.
- Parameters
-
[in] handle - handle to the hipSPARSE library context queue. [in] transA - matrix operation type. [in] alpha - scalar \(\alpha\). [in] descrA - descriptor of the sparse HYB matrix. Currently, only HIPSPARSE_MATRIX_TYPE_GENERALis supported.[in] hybA - matrix in HYB storage format. [in] x - array of nelements ( \(op(A) == A\)) ormelements ( \(op(A) == A^T\) or \(op(A) == A^H\)).[in] beta - scalar \(\beta\). [in,out] y - array of melements ( \(op(A) == A\)) ornelements ( \(op(A) == A^T\) or \(op(A) == A^H\)).
- Return values
-
HIPSPARSE_STATUS_SUCCESS the operation completed successfully. HIPSPARSE_STATUS_NOT_INITIALIZED handleis not initialized.HIPSPARSE_STATUS_INVALID_VALUE handle,descrA,alpha,beta, orhybAis nullptr, orxoryis nullptr.HIPSPARSE_STATUS_ARCH_MISMATCH the device is not supported. HIPSPARSE_STATUS_ALLOC_FAILED the buffer could not be allocated. HIPSPARSE_STATUS_INTERNAL_ERROR an internal error occurred. HIPSPARSE_STATUS_NOT_SUPPORTED transAis notHIPSPARSE_OPERATION_NON_TRANSPOSEorhipsparseMatrixType_tis notHIPSPARSE_MATRIX_TYPE_GENERAL.
Member Function/Subroutine Documentation
◆ hipsparseshybmv_()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparseshybmv::hipsparseshybmv_ | ( | type(c_ptr), value | handle, |
| integer(kind(hipsparse_operation_non_transpose)), value | transa, | ||
| real(c_float) | alpha, | ||
| type(c_ptr), value | descra, | ||
| type(c_ptr), value | hyba, | ||
| type(c_ptr), value | x, | ||
| real(c_float) | beta, | ||
| type(c_ptr), value | y | ||
| ) |
◆ hipsparseshybmv_rank_0()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparseshybmv::hipsparseshybmv_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(hipsparse_operation_non_transpose)) | transa, | ||
| real(c_float) | alpha, | ||
| type(c_ptr) | descra, | ||
| type(c_ptr) | hyba, | ||
| real(c_float), target | x, | ||
| real(c_float) | beta, | ||
| real(c_float), target | y | ||
| ) |
◆ hipsparseshybmv_rank_1()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparseshybmv::hipsparseshybmv_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(hipsparse_operation_non_transpose)) | transa, | ||
| real(c_float) | alpha, | ||
| type(c_ptr) | descra, | ||
| type(c_ptr) | hyba, | ||
| real(c_float), dimension(:), target | x, | ||
| real(c_float) | beta, | ||
| real(c_float), dimension(:), target | y | ||
| ) |
The documentation for this interface was generated from the following file: