Problem using cusparseScsric0 function

Hi, my name is Ana.

I have been used function in the NVIDIA library: Cusparse and Cublas. I have been implemented in my program the conjugate gradient method using these functions. Thus, it´s worked very well!

However, when I used Cholesky preconditioned and CG iterative methods, in another case, one problem occurred with cusparseScsric0 function. I am using matrix from The University of Florida in my algorithms with symmetric positive definite linear systems.

Thus, I have two questions:

1 – Incomplete Cholesky factorization could be: op(A)aproximately R R^T? I read from Matrix Computation´s book (Golub & Van Loan, 2rd Ed., section 10.3.2, pg. 530) about this function.

2 - In the manual “Cuda_cusparse” there is an information about the cusparseScsric0. The function is defined Hermitian/symmetric positive definite sparse matrix (CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA). I didn’t understand the supported matrix type: CUSPARSE_MATRIX_TYPE_GENERAL, because only a lower or upper Hermitian/symmetric part of the matrix is actually stored. I used lower or upper or general matrix and I did none result. The results in all the simulations were: CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED.

Please, I need your help!

Since I don’t use CUSPARSE myself, I asked the CUSPARSE team about this, and they provided the following information:

The supported matrix types for csric0 are CUSPARSE_MATRIX_TYPE_SYMMETRIC or CUSPARSE_MATRIX_TYPE_HERMITIAN (the CUSPARSE library documentation is wrong to state that it is CUSPARSE_MATRIX_TYPE_GENERAL). The fill modes CUSPARSE_FILL_MODE_LOWER and CUSPARSE_FILL_MODE_UPPER should also be supported.

Thank you!!!

Really the CUSPARSE library documentation is wrong!!!

Another question:

I’m in trouble with the csric0 function!!!

I think there must be a failure on the data structur!!!

CG works very well! But, PCG (ILU(0) and ICP) not converge!!!

I used a small matrix (University Florida - s.p.d.) to check the values. I stored UPPER part of the matrix A for cholesky method. In this case, some values the output function were calculated incorrectly, when I aplly: cusparseScsric0. Some results were: #QNAN0!

Please, I need your help!!!