Skip to content

SparseFlow v0.7.1 – SPA + CPU Runtime + Python CLI (Dev Preview)

Latest

Choose a tag to compare

@Gouravbunty17 Gouravbunty17 released this 04 Dec 15:27
· 157 commits to main since this release

SparseFlow v0.7.1 – SPA + CPU Runtime + Python CLI (Dev Preview)

This release packages the current SparseFlow stack into a usable, reproducible demo
for researchers, compiler engineers, and hardware partners.

Highlights

  • SPA v0.6 (2D Sparsity)

    • Propagates row + column sparsity through a small MLIR pipeline
    • Exports JSON metadata with row/col masks and sparsity stats
    • Proven on structured sparse matmuls with 50% row + 50% col sparsity (≈75% FLOP reduction)
  • C++ CPU Runtime (OpenMP)

    • Consumes SPA JSON masks and skips zero rows/cols
    • Blocked matmul kernel with OpenMP parallelism
    • Achieves ≈3–5× speedup on larger matmuls (512–1024) at ~75% sparsity
    • Honest behavior: small sizes (<512) can be 1–3× due to OpenMP and cache overhead
  • End-to-End Demo Script

    • ./spa-runner.sh:
      • Rebuilds passes/runtime if needed
      • Runs SPA on test MLIR
      • Exports spa_sparsity.json
      • Benchmarks dense vs sparse CPU matmuls
  • Python CLI (Developer Preview)
    Install:

    cd sparseflow_package
    pip install -e .
    

    Tools:

    sparseflow-demo
    sparseflow-analyze tests/test_spa_v6_full_2d.mlir
    sparseflow-benchmark
    

Quick Start

git clone https://github.com/MapleSilicon/SparseFlow.git
cd SparseFlow
./spa-runner.sh