I am looking at the documentation of CUSPARSE, especially for the routines related to cusparseSpGEMM. The description immediately following the routines says, “This function performs the multiplication of two sparse matrices matA and matB”. So in my first understanding, the set of routines conduct the operation: C = alphaAB + beta*C, where A and B are sparse matrices in CSR format and C is a dense matrix. However, the row for matB in the table listing variables says this: Dense matrix B. Here I find a contradiction between the two statements. At last, when I look at the example for cusparseSpGEMM, I found this piece of code:
CHECK_CUSPARSE( cusparseCreateCsr(&matC, A_num_rows, B_num_cols, 0,NULL, NULL, NULL,
CUSPARSE_INDEX_32I, CUSPARSE_INDEX_32I,CUSPARSE_INDEX_BASE_ZERO, CUDA_R_32F) ),
where matC is formed as a sparse matrix in CSR format.
I am confused by the contradiction existing in the statements. Could anyone explain this contradiction? Thanks.