rocsparse_saxpyi Interface Reference

rocsparse_saxpyi Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_saxpyi Interface Reference
hipfort_rocsparse::rocsparse_saxpyi Interface Reference

Scale a sparse vector and add it to a dense vector. More...

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_saxpyi_ (handle, nnz, alpha, x_val, x_ind, y, idx_base)
 
integer(kind(rocsparse_status_success)) function rocsparse_saxpyi_rank_0 (handle, nnz, alpha, x_val, x_ind, y, idx_base)
 
integer(kind(rocsparse_status_success)) function rocsparse_saxpyi_rank_1 (handle, nnz, alpha, x_val, x_ind, y, idx_base)
 

Detailed Description

Scale a sparse vector and add it to a dense vector.

rocsparse_axpyi multiplies the sparse vector \(x\) with scalar \(\alpha\) and adds the result to the dense vector \(y\), such that

\[ y := y + \alpha \cdot x \]

for(i = 0; i < nnz; ++i)
{
y[x_ind[i]] = y[x_ind[i]] + alpha * x_val[i];
}
Note
This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
This routine supports execution in a hipGraph context.
Parameters
[in]handle- handle to the rocSPARSE library context queue.
[in]nnz- number of non-zero entries of vector \(x\).
[in]alpha- scalar \(\alpha\).
[in]x_val- array of nnz elements containing the values of \(x\).
[in]x_ind- array of nnz elements containing the indices of the non-zero values of \(x\).
[in,out]y- array of values in dense format.
[in]idx_base- rocsparse_index_base_zero or rocsparse_index_base_one.
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_valueidx_base is invalid.
rocsparse_status_invalid_sizennz is invalid.
rocsparse_status_invalid_pointeralpha, x_val, x_ind, or y pointer is invalid.
Example

Member Function/Subroutine Documentation

◆ rocsparse_saxpyi_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_saxpyi::rocsparse_saxpyi_ ( type(c_ptr), value  handle,
integer(c_int), value  nnz,
real(c_float)  alpha,
type(c_ptr), value  x_val,
type(c_ptr), value  x_ind,
type(c_ptr), value  y,
integer(kind(rocsparse_index_base_zero)), value  idx_base 
)

◆ rocsparse_saxpyi_rank_0()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_saxpyi::rocsparse_saxpyi_rank_0 ( type(c_ptr)  handle,
integer(c_int)  nnz,
real(c_float)  alpha,
real(c_float), target  x_val,
integer(c_int), target  x_ind,
real(c_float), target  y,
integer(kind(rocsparse_index_base_zero))  idx_base 
)

◆ rocsparse_saxpyi_rank_1()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_saxpyi::rocsparse_saxpyi_rank_1 ( type(c_ptr)  handle,
integer(c_int)  nnz,
real(c_float)  alpha,
real(c_float), dimension(:), target  x_val,
integer(c_int), dimension(:), target  x_ind,
real(c_float), dimension(:), target  y,
integer(kind(rocsparse_index_base_zero))  idx_base 
)

The documentation for this interface was generated from the following file: