|
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsric0_buffer_size_ (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size) |
| |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsric0_buffer_size_rank_0 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size) |
| |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsric0_buffer_size_rank_1 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size) |
| |
rocsparse_bsric0_buffer_size returns the size of the temporary storage buffer that is required by rocsparse_Xbsric0_analysis() and rocsparse_Xbsric0(). 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_Xbsrsv_buffer_size() and rocsparse_Xbsrilu0_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] | dir | - direction that specifies whether to count non-zero elements by rocsparse_direction_row or by rocsparse_direction_column. |
| [in] | mb | - number of block rows in the sparse BSR matrix. |
| [in] | nnzb | - number of non-zero block entries of the sparse BSR matrix. |
| [in] | descr | - descriptor of the sparse BSR matrix. |
| [in] | bsr_val | - array of length nnzb*block_dim*block_dim containing the values of the sparse BSR matrix. |
| [in] | bsr_row_ptr | - array of mb+1 elements that point to the start of every block row of the sparse BSR matrix. |
| [in] | bsr_col_ind | - array of nnzb elements containing the block column indices of the sparse BSR matrix. |
| [in] | block_dim | - the block dimension of the BSR matrix. Between 1 and m, where m=mb*block_dim. |
| [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_Xbsric0_analysis() and rocsparse_Xbsric0(). |
- Return values
-
| rocsparse_status_success | the operation completed successfully. |
| rocsparse_status_invalid_handle | the library context was not initialized. |
| rocsparse_status_invalid_size | mb, nnzb, or block_dim is invalid. |
| rocsparse_status_invalid_pointer | descr, bsr_val, bsr_row_ptr, bsr_col_ind, info, or buffer_size pointer is invalid. |
| rocsparse_status_internal_error | an internal error occurred. |
| rocsparse_status_not_implemented | rocsparse_matrix_type != rocsparse_matrix_type_general. |