gf2_sparse_dense_matrix_multiply#

cuquantum.bindings.custabilizer.gf2_sparse_dense_matrix_multiply(
intptr_t handle,
uint64_t m,
uint64_t n,
uint64_t k,
uint64_t nnz,
intptr_t column_indices,
intptr_t row_offsets,
intptr_t b,
int32_t beta,
intptr_t c,
intptr_t stream,
)[source]#

compute GF(2) sparse-dense matrix multiplication c = A @ b.

Parameters:
  • handle (intptr_t) – Library handle.

  • m (uint64_t) – Number of rows of A and c.

  • n (uint64_t) – Number of columns of b and c (must be a multiple of 32).

  • k (uint64_t) – Number of columns of A and rows of b.

  • nnz (uint64_t) – Number of non-zeros in A and length of column_indices.

  • column_indices (intptr_t) – cSR column indices of A (device-accessible pointer), length nnz.

  • row_offsets (intptr_t) – cSR row offsets of A (device-accessible pointer), length m+1.

  • b (intptr_t) – bit-packed dense input matrix b (device-accessible pointer).

  • beta (int32_t) – 0 for assign (c not read), 1 for XOR-accumulate.

  • c (intptr_t) – bit-packed dense output matrix c (device-accessible pointer).

  • stream (intptr_t) – cUDA stream.