Skip to main content

Crate sp_matmul_rs

Crate sp_matmul_rs 

Source
Expand description

Sparse CSR × CSR matrix multiplication with fused top-n selection.

Rust port of sparse_dot_topn.

The default driver column-chunks B so the dense sums accumulator and the streamed B fragments stay resident in L1/L2 cache — this is the dominant performance lever for very large, very sparse inputs and is built in, not bolted on.

Re-exports§

pub use crate::chunked::default_chunk_cols;
pub use crate::chunked::sp_matmul_topn_chunked;
pub use crate::chunked::AccumMode;
pub use crate::chunked::BProjection;
pub use crate::csr::CsrMatrix;
pub use crate::csr::CsrView;
pub use crate::index::Index;
pub use crate::matmul::sp_matmul;
pub use crate::matmul_topn::sp_matmul_topn;
pub use crate::matmul_topn::SortMode;
pub use crate::matmul_topn::TopNOptions;
pub use crate::scalar::Scalar;
pub use crate::tiled::TiledB;
pub use crate::zip::zip_sp_matmul_topn;

Modules§

chunked
Column-chunked driver — the cache-blocking pillar.
csr
CSR matrix types — borrowed view and owned matrix.
index
Index trait — the integer type of the indptr / indices arrays.
matmul
sp_matmul — sparse CSR × CSR multiplication without top-n selection.
matmul_topn
sp_matmul_topn — sparse CSR × CSR multiplication keeping top-n per row.
maxheap
Bounded max-heap for top-n selection per row.
parallel
Rayon-backed parallel driver. Feature rayon (default-on).
scalar
Scalar trait — the element type of the matrices.
simd
Runtime CPU-feature detection for the x86-64 kernel clones.
tiled
Tiled-CSR representation of B (plan O3, “Strategie C”).
zip
zip_sp_matmul_topn — combine top-n sub-matrices produced by independent chunks.