hipsparseshybmv Interface Reference

hipsparseshybmv Interface Reference#

HIPFORT API Reference: hipfort_hipsparse::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_TRANSPOSE is 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_GENERAL is supported.
[in]hybA- matrix in HYB storage format.
[in]x- array of n elements ( \(op(A) == A\)) or m elements ( \(op(A) == A^T\) or \(op(A) == A^H\)).
[in]beta- scalar \(\beta\).
[in,out]y- array of m elements ( \(op(A) == A\)) or n elements ( \(op(A) == A^T\) or \(op(A) == A^H\)).
Return values
HIPSPARSE_STATUS_SUCCESSthe operation completed successfully.
HIPSPARSE_STATUS_NOT_INITIALIZEDhandle is not initialized.
HIPSPARSE_STATUS_INVALID_VALUEhandle, descrA, alpha, beta, or hybA is nullptr, or x or y is nullptr.
HIPSPARSE_STATUS_ARCH_MISMATCHthe device is not supported.
HIPSPARSE_STATUS_ALLOC_FAILEDthe buffer could not be allocated.
HIPSPARSE_STATUS_INTERNAL_ERRORan internal error occurred.
HIPSPARSE_STATUS_NOT_SUPPORTEDtransA is not HIPSPARSE_OPERATION_NON_TRANSPOSE or hipsparseMatrixType_t is not HIPSPARSE_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: