Expand description
Sparse matrix-sparse matrix multiplication (SpGEMM).
Computes C = A * B where A and B are sparse CSR matrices and C is
the resulting sparse CSR matrix.
The algorithm uses a two-phase approach:
- Symbolic phase (
spgemm_symbolic): Determines the sparsity pattern ofCby counting non-zeros per row. - Numeric phase (
spgemm_numeric): Computes the actual values and column indices ofC.
Each phase generates and launches a PTX kernel where each thread handles
one row of A, iterates over its non-zeros, and accumulates column entries
from corresponding rows of B using a hash-table approach with linear
probing for collision resolution.
Functionsยง
- spgemm_
numeric - Numeric phase of SpGEMM: fills in values and column indices of
C = A * B. - spgemm_
symbolic - Symbolic phase of SpGEMM: computes the row pointer array for
C = A * B.