Sparse matrix - sparse matrix multiply on GPU

Viewed 31

I have an algorithm (now implemented on CPU) that needs to multiply two sparse matrixes. One matrix is fairly sparse (roughly 10% filled, without any specific pattern) and the other has only two off-diagonal elements. After the multiplication, this truncates small values to make the product sparser (if the truncation can be fused with the multiplication that would probably be more efficient).

I'm looking to implement this efficiently on GPU. Is there a library that would do sparse matrix-sparse matrix multiplication?

I've looked at cuSPARSE and that only does sparse matrix - dense vector. cuSPARSELt is another option, but I couldn't figure out from the documentation if this is supported. Is there any recommended way to implement this - either with library or directly?

(Note: the matrix can be stored in any format, CSR, COO etc; I'd like the output to be in the same format for easier chaining of the same type of operations)

0 Answers
Related