Skip to main content

cusparseZbsrilu02_bufferSize

Function cusparseZbsrilu02_bufferSize 

Source
pub unsafe extern "C" fn cusparseZbsrilu02_bufferSize(
    handle: cusparseHandle_t,
    dirA: cusparseDirection_t,
    mb: c_int,
    nnzb: c_int,
    descrA: cusparseMatDescr_t,
    bsrSortedVal: *mut cuDoubleComplex,
    bsrSortedRowPtr: *const c_int,
    bsrSortedColInd: *const c_int,
    blockDim: c_int,
    info: bsrilu02Info_t,
    pBufferSizeInBytes: *mut c_int,
) -> cusparseStatus_t
Expand 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_SUCCESSthe operation completed successfully.
cusparseStatus_t::CUSPARSE_STATUS_NOT_INITIALIZEDthe library was not initialized.
cusparseStatus_t::CUSPARSE_STATUS_ALLOC_FAILEDthe resources could not be allocated.
cusparseStatus_t::CUSPARSE_STATUS_INVALID_VALUEinvalid parameters were passed (mb,nnzb<=0), base index is not 0 or 1.
cusparseStatus_t::CUSPARSE_STATUS_ARCH_MISMATCHthe device only supports compute capability 2.0 and above.
cusparseStatus_t::CUSPARSE_STATUS_INTERNAL_ERRORan internal operation failed.
cusparseStatus_t::CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTEDthe matrix type is not supported.