SpaDA: A Spatial Dataflow Architecture Programming Language
Lukas Gianinazzi, Tal Ben-Nun, Torsten Hoefler

TL;DR
SpaDA is a new programming language designed for spatial dataflow architectures like Cerebras, enabling efficient, concise, and high-performance programming of complex parallel operations on massive processing arrays.
Contribution
It introduces SpaDA, a high-level language and intermediate representation that simplifies programming for spatial dataflow architectures, with a compiler targeting Cerebras CSL.
Findings
Achieves over 260 TFlop/s on 730,000 PEs.
Allows expressing complex parallel patterns in 14.09x fewer lines than CSL.
Demonstrates effective compilation and optimization for Cerebras hardware.
Abstract
Spatial dataflow architectures like the Cerebras Wafer-Scale Engine deliver exceptional performance in AI and scientific computing by distributing scratchpad memory across hundreds of thousands of processing elements (PEs). Yet programming these architectures remains difficult: with no shared memory, data movement requires explicit configuration, and asynchronous task management introduces substantial complexity. We present SpaDA, a programming language that offers precise control over data placement, dataflow patterns, and asynchronous operations while abstracting low-level architectural details. We design and implement a compiler targeting Cerebras CSL through multi-level lowering and unique optimization passes. SpaDA functions as a high-level programming interface and an intermediate representation for domain-specific languages (DSLs), demonstrated here with the GT4Py stencil DSL.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
