pub unsafe extern "C" fn cusparseDbsrilu02_bufferSize(
handle: cusparseHandle_t,
dirA: cusparseDirection_t,
mb: c_int,
nnzb: c_int,
descrA: cusparseMatDescr_t,
bsrSortedVal: *mut f64,
bsrSortedRowPtr: *const c_int,
bsrSortedColInd: *const c_int,
blockDim: c_int,
info: bsrilu02Info_t,
pBufferSizeInBytes: *mut c_int,
) -> cusparseStatus_tExpand description
This function returns the size of the buffer used in computing the incomplete-LU factorization with 0 fill-in and no pivoting.
A is an (mb*blockDim)x(mb*blockDim) sparse matrix that is defined in BSR storage format by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA.
The buffer size depends on the dimensions of mb, blockDim, and the number of nonzero blocks of the matrix nnzb. If the user changes the matrix, it is necessary to call bsrilu02_bufferSize() again to have the correct buffer size; otherwise, a segmentation fault may occur.
Status Returned
cusparseStatus_t::CUSPARSE_STATUS_SUCCESS | the operation completed successfully. |
cusparseStatus_t::CUSPARSE_STATUS_NOT_INITIALIZED | the library was not initialized. |
cusparseStatus_t::CUSPARSE_STATUS_ALLOC_FAILED | the resources could not be allocated. |
cusparseStatus_t::CUSPARSE_STATUS_INVALID_VALUE | invalid parameters were passed (mb,nnzb<=0), base index is not 0 or 1. |
cusparseStatus_t::CUSPARSE_STATUS_ARCH_MISMATCH | the device only supports compute capability 2.0 and above. |
cusparseStatus_t::CUSPARSE_STATUS_INTERNAL_ERROR | an internal operation failed. |
cusparseStatus_t::CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED | the matrix type is not supported. |