rocsparse_sbsrmv_analysis Interface Reference#
hipfort_rocsparse::rocsparse_sbsrmv_analysis Interface Reference
Public Member Functions | |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsrmv_analysis_ (handle, dir, trans, mb, nb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo) |
Detailed Description
rocsparse_bsrmv_analysis performs the analysis step for rocsparse_Xbsrmv(). It is expected that this function will be executed only once for a given sparsity pattern and particular operation type. The gathered analysis meta data is stored in the rocsparse_mat_info object and can be cleared by rocsparse_bsrmv_clear().
If the matrix sparsity pattern changes, the gathered information will become invalid. To perform another sparse matrix multiplication with a matrix having a different sparsity pattern, either destroy the old info object and create a new one or clear the existing info object using rocsparse_bsrmv_clear(). In both cases, the analysis will need to be called again.
- 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 does not support execution in a hipGraph context.
- Parameters
-
[in] handle - handle to the rocSPARSE library context queue. [in] dir - matrix storage of BSR blocks. [in] trans - matrix operation type. [in] mb - number of block rows of the sparse BSR matrix. [in] nb - number of block columns of the sparse BSR matrix. [in] nnzb - number of non-zero blocks of the sparse BSR matrix. [in] descr - descriptor of the sparse BSR matrix. Currently, only rocsparse_matrix_type_generalis supported.[in] bsr_val - array of nnzbblocks of the sparse BSR matrix.[in] bsr_row_ptr - array of mb+1elements that point to the start of every block row of the sparse BSR matrix.[in] bsr_col_ind - array of nnzbelements containing the block column indices of the sparse BSR matrix.[in] block_dim - block dimension of the sparse BSR matrix. [out] myInfo - structure that holds the information collected during the analysis step.
- Return values
-
rocsparse_status_success the operation completed successfully. rocsparse_status_invalid_handle the library context was not initialized. rocsparse_status_invalid_size mb,nb, ornnzbis invalid.rocsparse_status_invalid_pointer descr,bsr_val,bsr_row_ptr,bsr_col_ind, orinfopointer is invalid.rocsparse_status_memory_error the buffer for the gathered information could not be allocated. rocsparse_status_internal_error an internal error occurred. rocsparse_status_not_implemented trans!=rocsparse_operation_noneorrocsparse_matrix_type!=rocsparse_matrix_type_general.
Member Function/Subroutine Documentation
◆ rocsparse_sbsrmv_analysis_()
| integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsrmv_analysis::rocsparse_sbsrmv_analysis_ | ( | type(c_ptr), value | handle, |
| integer(kind(rocsparse_direction_row)), value | dir, | ||
| integer(kind(rocsparse_operation_none)), value | trans, | ||
| integer(c_int), value | mb, | ||
| integer(c_int), value | nb, | ||
| integer(c_int), value | nnzb, | ||
| type(c_ptr), value | descr, | ||
| type(c_ptr), value | bsr_val, | ||
| type(c_ptr), value | bsr_row_ptr, | ||
| type(c_ptr), value | bsr_col_ind, | ||
| integer(c_int), value | block_dim, | ||
| type(c_ptr), value | myinfo | ||
| ) |
The documentation for this interface was generated from the following file: