This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

rocsparse_rot Interface Reference

rocsparse_rot Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_rot Interface Reference
hipfort_rocsparse::rocsparse_rot Interface Reference

Apply Givens rotation to a dense and a sparse vector. More...

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_rot_ (handle, c, s, x, y)
 

Detailed Description

Apply Givens rotation to a dense and a sparse vector.

rocsparse_rot applies the Givens rotation matrix \(G\) to the sparse vector \(x\) and the dense vector \(y\), where

\[ G = \begin{pmatrix} c & s \\ -s & c \end{pmatrix} \]

for(i = 0; i < nnz; ++i)
{
x_tmp = x_val[i];
y_tmp = y[x_ind[i]];
x_val[i] = c * x_tmp + s * y_tmp;
y[x_ind[i]] = c * y_tmp - s * x_tmp;
}
Note
This function is non blocking and executed asynchronously with respect to the host. It may return before the actual computation has finished.
Parameters
[in]handlehandle to the rocsparse library context queue.
[in]cpointer to the cosine element of \(G\), can be on host or device.
[in]spointer to the sine element of \(G\), can be on host or device.
[in,out]xsparse vector \(x\).
[in,out]ydense vector \(y\).
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_pointerc, s, x or y pointer is invalid.

Member Function/Subroutine Documentation

◆ rocsparse_rot_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_rot::rocsparse_rot_ ( type(c_ptr), value  handle,
type(c_ptr), value  c,
type(c_ptr), value  s,
type(c_ptr), value  x,
type(c_ptr), value  y 
)

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