Stellar: A DSL to Build and Explore Sparse Accelerators
summary
Stellar is a DSL that decouples function, dataflow, sparse formats and load‑balancing to automatically synthesize sparse accelerators and generates Verilog and programming stacks. It models CSR/CSC and Gustafson vs outer‑product flows and can predict output‑merger sizes differing by up to an order of magnitude from just the sparsity descriptions. Compiler output integrates with Chisel/Chipyard, emits RTL and 3D visualizations; dense designs match hand‑tuned performance but currently cost about 30% more area, while sparse RTL is functional but still being optimized.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 0:31Why is a DSL needed
- 1:18Existing taxonomies
- 1:51Spacetime transformations
- 2:18Spacetime transform
- 2:33Output stationary accelerators
- 2:58Spacetime transforms
- 5:03Sparse data formats
- 6:36Sparse
- 7:03Question
- 7:36Goals
- 7:46Functional Behavior
- 8:01Matrix Multiplication
- 8:45Complex Data Dependents
- 10:38Gamma
- 12:05Automatic sparsity
- 12:31Finegrained block sparsity
- 13:00Spatial array example
- 14:37Log Modules
- 14:52Sparse Accelerators
related talks
01h 06mAutomatic Task-based Code Generation for High Performance DSEL
56m“High Performance Code 201: Hybrid Data Structures"
01h 04mCompile-time sparse matrices
01h 04mDesign for Performance
06mLightning Talk: Let's Fix Sparse Linear Algebra with C++. It'll Be Fun and Easy!
43mDotty Linker: Precise Types Bring Performance
55mCode Size Compiler Optimizations and Techniques for Embedded Systems
23mPattern-Based Optimization (...)
