hipsparsesgthr Interface Reference

hipsparsesgthr Interface Reference#

HIPFORT API Reference: hipfort_hipsparse::hipsparsesgthr Interface Reference
hipfort_hipsparse::hipsparsesgthr Interface Reference

Gather elements from a dense vector and store them in a sparse vector. More...

Public Member Functions

integer(kind(hipsparse_status_success)) function hipsparsesgthr_ (handle, nnz, y, xval, xind, idxbase)
 
integer(kind(hipsparse_status_success)) function hipsparsesgthr_rank_0 (handle, nnz, y, xval, xind, idxbase)
 
integer(kind(hipsparse_status_success)) function hipsparsesgthr_rank_1 (handle, nnz, y, xval, xind, idxbase)
 

Detailed Description

Gather elements from a dense vector and store them in a sparse vector.

hipsparseXgthr gathers the elements that are listed in xInd from the dense vector \(y\) and stores them in the sparse vector \(x\).

for(i = 0; i < nnz; ++i)
{
xVal[i] = y[xInd[i]];
}
Note
This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
If nnz is zero, the function returns successfully without modifying xVal.
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]nnz- number of non-zero entries of \(x\). Must be non-negative.
[in]y- array of values in dense format. Must be pre-allocated with sufficient size to accommodate all indices specified in xInd.
[out]xVal- array of nnz elements that will contain the gathered values of \(x\).
[in]xInd- array of nnz elements containing the indices of the non-zero values of \(x\).
[in]idxBase- index base. HIPSPARSE_INDEX_BASE_ZERO for zero-based indexing or HIPSPARSE_INDEX_BASE_ONE for one-based indexing.
Return values
HIPSPARSE_STATUS_SUCCESSthe operation completed successfully.
HIPSPARSE_STATUS_NOT_INITIALIZEDhandle is not initialized.
HIPSPARSE_STATUS_INVALID_VALUEhandle is nullptr, nnz is negative, y, xVal, or xInd is nullptr when nnz is greater than zero, or idxBase is neither HIPSPARSE_INDEX_BASE_ZERO nor HIPSPARSE_INDEX_BASE_ONE.

Member Function/Subroutine Documentation

◆ hipsparsesgthr_()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgthr::hipsparsesgthr_ ( type(c_ptr), value  handle,
integer(c_int), value  nnz,
type(c_ptr), value  y,
type(c_ptr), value  xval,
type(c_ptr), value  xind,
integer(kind(hipsparse_index_base_zero)), value  idxbase 
)

◆ hipsparsesgthr_rank_0()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgthr::hipsparsesgthr_rank_0 ( type(c_ptr)  handle,
integer(c_int)  nnz,
real(c_float), target  y,
real(c_float), target  xval,
integer(c_int), target  xind,
integer(kind(hipsparse_index_base_zero))  idxbase 
)

◆ hipsparsesgthr_rank_1()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgthr::hipsparsesgthr_rank_1 ( type(c_ptr)  handle,
integer(c_int)  nnz,
real(c_float), dimension(:), target  y,
real(c_float), dimension(:), target  xval,
integer(c_int), dimension(:), target  xind,
integer(kind(hipsparse_index_base_zero))  idxbase 
)

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