rocsparse_sbsrilu0_analysis Interface Reference#
hipfort_rocsparse::rocsparse_sbsrilu0_analysis Interface Reference
Public Member Functions | |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsrilu0_analysis_ (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, analysis, solve, temp_buffer) |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsrilu0_analysis_rank_0 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, analysis, solve, temp_buffer) |
| integer(kind(rocsparse_status_success)) function | rocsparse_sbsrilu0_analysis_rank_1 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, analysis, solve, temp_buffer) |
Detailed Description
rocsparse_bsrilu0_analysis performs the analysis step for rocsparse_Xbsrilu0(). It is expected that this function will be executed only once for a given matrix. The analysis metadata can be cleared by rocsparse_bsrilu0_clear().
rocsparse_bsrilu0_analysis can share its metadata with rocsparse_Xbsric0_analysis(), rocsparse_Xbsrsv_analysis(), and rocsparse_Xbsrsm_analysis(). Selecting rocsparse_analysis_policy_reuse policy can greatly improve the computation performance of metadata. However, the user needs to ensure that the sparsity pattern remains unchanged. If this cannot be assured, rocsparse_analysis_policy_force must be used.
- Note
- If the matrix sparsity pattern changes, the gathered information will become invalid.
- This function is blocking with respect to the host.
- This routine does not support execution in a hipGraph context.
- Parameters
-
[in] handle - handle to the rocSPARSE library context queue. [in] dir - direction that specified whether to count non-zero elements by rocsparse_direction_rowor byrocsparse_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_dimcontaining the values 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 - 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. [in] analysis - rocsparse_analysis_policy_reuseorrocsparse_analysis_policy_force.[in] solve - rocsparse_solve_policy_auto.[in] temp_buffer - temporary storage buffer allocated by the user.
- 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, orblock_dimis invalid.rocsparse_status_invalid_pointer descr,bsr_val,bsr_row_ptr,bsr_col_ind,info, ortemp_bufferpointer is invalid.rocsparse_status_internal_error an internal error occurred. rocsparse_status_not_implemented rocsparse_matrix_type!=rocsparse_matrix_type_general.
Member Function/Subroutine Documentation
◆ rocsparse_sbsrilu0_analysis_()
| integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsrilu0_analysis::rocsparse_sbsrilu0_analysis_ | ( | type(c_ptr), value | handle, |
| integer(kind(rocsparse_direction_row)), value | dir, | ||
| integer(c_int), value | mb, | ||
| 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, | ||
| integer(kind(rocsparse_analysis_policy_reuse)), value | analysis, | ||
| integer(kind(rocsparse_solve_policy_auto)), value | solve, | ||
| type(c_ptr), value | temp_buffer | ||
| ) |
◆ rocsparse_sbsrilu0_analysis_rank_0()
| integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsrilu0_analysis::rocsparse_sbsrilu0_analysis_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(rocsparse_direction_row)) | dir, | ||
| integer(c_int) | mb, | ||
| integer(c_int) | nnzb, | ||
| type(c_ptr) | descr, | ||
| real(c_float), target | bsr_val, | ||
| integer(c_int), target | bsr_row_ptr, | ||
| integer(c_int), target | bsr_col_ind, | ||
| integer(c_int) | block_dim, | ||
| type(c_ptr) | myinfo, | ||
| integer(kind(rocsparse_analysis_policy_reuse)) | analysis, | ||
| integer(kind(rocsparse_solve_policy_auto)) | solve, | ||
| type(c_ptr) | temp_buffer | ||
| ) |
◆ rocsparse_sbsrilu0_analysis_rank_1()
| integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsrilu0_analysis::rocsparse_sbsrilu0_analysis_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(rocsparse_direction_row)) | dir, | ||
| integer(c_int) | mb, | ||
| integer(c_int) | nnzb, | ||
| type(c_ptr) | descr, | ||
| real(c_float), dimension(:), target | bsr_val, | ||
| integer(c_int), dimension(:), target | bsr_row_ptr, | ||
| integer(c_int), dimension(:), target | bsr_col_ind, | ||
| integer(c_int) | block_dim, | ||
| type(c_ptr) | myinfo, | ||
| integer(kind(rocsparse_analysis_policy_reuse)) | analysis, | ||
| integer(kind(rocsparse_solve_policy_auto)) | solve, | ||
| type(c_ptr) | temp_buffer | ||
| ) |
The documentation for this interface was generated from the following file: