rocsparse_scsric0_buffer_size Interface Reference

rocsparse_scsric0_buffer_size Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_scsric0_buffer_size Interface Reference
hipfort_rocsparse::rocsparse_scsric0_buffer_size Interface Reference

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_scsric0_buffer_size_ (handle, m, nnz, descr, csr_val, csr_row_ptr, csr_col_ind, myinfo, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_scsric0_buffer_size_rank_0 (handle, m, nnz, descr, csr_val, csr_row_ptr, csr_col_ind, myinfo, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_scsric0_buffer_size_rank_1 (handle, m, nnz, descr, csr_val, csr_row_ptr, csr_col_ind, myinfo, buffer_size)
 

Detailed Description

rocsparse_csric0_buffer_size returns the size of the temporary storage buffer that is required by rocsparse_Xcsric0_analysis(). The temporary storage buffer must be allocated by the user. The size of the temporary storage buffer is identical to the size returned by rocsparse_Xcsrsv_buffer_size() and rocsparse_Xcsrilu0_buffer_size() if the matrix sparsity pattern is identical. The user-allocated buffer can therefore be shared between subsequent calls to those functions.

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]m- number of rows of the sparse CSR matrix.
[in]nnz- number of non-zero entries of the sparse CSR matrix.
[in]descr- descriptor of the sparse CSR matrix.
[in]csr_val- array of nnz elements of the sparse CSR matrix.
[in]csr_row_ptr- array of m+1 elements that point to the start of every row of the sparse CSR matrix.
[in]csr_col_ind- array of nnz elements containing the column indices of the sparse CSR matrix.
[out]myInfo- structure that holds the information collected during the analysis step.
[out]buffer_size- number of bytes of the temporary storage buffer required by rocsparse_Xcsric0_analysis() and rocsparse_Xcsric0().
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_sizem or nnz is invalid.
rocsparse_status_invalid_pointerdescr, csr_val, csr_row_ptr, csr_col_ind, info, or buffer_size pointer is invalid.
rocsparse_status_internal_erroran internal error occurred.
rocsparse_status_not_implementedrocsparse_matrix_type != rocsparse_matrix_type_general.

Member Function/Subroutine Documentation

◆ rocsparse_scsric0_buffer_size_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsric0_buffer_size::rocsparse_scsric0_buffer_size_ ( type(c_ptr), value  handle,
integer(c_int), value  m,
integer(c_int), value  nnz,
type(c_ptr), value  descr,
type(c_ptr), value  csr_val,
type(c_ptr), value  csr_row_ptr,
type(c_ptr), value  csr_col_ind,
type(c_ptr), value  myinfo,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_scsric0_buffer_size_rank_0()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsric0_buffer_size::rocsparse_scsric0_buffer_size_rank_0 ( type(c_ptr)  handle,
integer(c_int)  m,
integer(c_int)  nnz,
type(c_ptr)  descr,
real(c_float), target  csr_val,
integer(c_int), target  csr_row_ptr,
integer(c_int), target  csr_col_ind,
type(c_ptr)  myinfo,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_scsric0_buffer_size_rank_1()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsric0_buffer_size::rocsparse_scsric0_buffer_size_rank_1 ( type(c_ptr)  handle,
integer(c_int)  m,
integer(c_int)  nnz,
type(c_ptr)  descr,
real(c_float), dimension(:), target  csr_val,
integer(c_int), dimension(:), target  csr_row_ptr,
integer(c_int), dimension(:), target  csr_col_ind,
type(c_ptr)  myinfo,
integer(c_size_t)  buffer_size 
)

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