|
| integer(kind(hipsparse_status_success)) function | hipsparsesbsric02_analysis_ (handle, dira, mb, nnzb, descra, bsrvala, bsrrowptra, bsrcolinda, blockdim, myinfo, policy, pbuffer) |
| |
| integer(kind(hipsparse_status_success)) function | hipsparsesbsric02_analysis_rank_0 (handle, dira, mb, nnzb, descra, bsrvala, bsrrowptra, bsrcolinda, blockdim, myinfo, policy, pbuffer) |
| |
| integer(kind(hipsparse_status_success)) function | hipsparsesbsric02_analysis_rank_1 (handle, dira, mb, nnzb, descra, bsrvala, bsrrowptra, bsrcolinda, blockdim, myinfo, policy, pbuffer) |
| |
hipsparseXbsric02_analysis performs the analysis step for hipsparseSbsric02 "hipsparseXbsric02()". It is expected that this function will be executed only once for a given matrix and particular operation type.
- Note
- If the matrix sparsity pattern changes, the gathered information will become invalid.
-
This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
- Parameters
-
| [in] | handle | - handle to the hipSPARSE library context queue. |
| [in] | dirA | - direction that specifies whether to count non-zero elements by HIPSPARSE_DIRECTION_ROW or by HIPSPARSE_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] | descrA | - descriptor of the sparse BSR matrix. |
| [in] | bsrValA | - array of length nnzb*blockDim*blockDim containing the values of the sparse BSR matrix. |
| [in] | bsrRowPtrA | - array of mb+1 elements that point to the start of every block row of the sparse BSR matrix. |
| [in] | bsrColIndA | - array of nnzb elements containing the block column indices of the sparse BSR matrix. |
| [in] | blockDim | - the block dimension of the BSR matrix, which is between 1 and m where m=mb*blockDim. |
| [out] | myInfo | - structure that holds the information collected during the analysis step. |
| [in] | policy | - HIPSPARSE_SOLVE_POLICY_NO_LEVEL or HIPSPARSE_SOLVE_POLICY_USE_LEVEL. |
| [in] | pBuffer | - temporary storage buffer allocated by the user. |
- Return values
-
| HIPSPARSE_STATUS_SUCCESS | the operation completed successfully. |
| HIPSPARSE_STATUS_INVALID_VALUE | handle, mb, nnzb, blockDim, descrA, bsrValA, bsrRowPtrA, bsrColIndA, info, or pBuffer pointer is invalid. |
| HIPSPARSE_STATUS_INTERNAL_ERROR | an internal error occurred. |
| HIPSPARSE_STATUS_NOT_SUPPORTED | hipsparseMatrixType_t != HIPSPARSE_MATRIX_TYPE_GENERAL. |