SpaDA: A Spatial Dataflow Architecture Programming Language

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Gianinazzi, Lukas, Ben-Nun, Tal, Hoefler, Torsten
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910168100372480
author Gianinazzi, Lukas
Ben-Nun, Tal
Hoefler, Torsten
author_facet Gianinazzi, Lukas
Ben-Nun, Tal
Hoefler, Torsten
contents 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. SpaDA enables concise expression of operations with complex parallel patterns -- including pipelined collective operations, multi-dimensional stencils, and dense linear algebra -- in 14.09x fewer lines than CSL, achieving over 260 TFlop/s across 730,000 PEs on a single device.
format Preprint
id arxiv_https___arxiv_org_abs_2511_09447
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle SpaDA: A Spatial Dataflow Architecture Programming Language
Gianinazzi, Lukas
Ben-Nun, Tal
Hoefler, Torsten
Distributed, Parallel, and Cluster Computing
Programming Languages
D.3.4; C.1.2; D.1.3
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. SpaDA enables concise expression of operations with complex parallel patterns -- including pipelined collective operations, multi-dimensional stencils, and dense linear algebra -- in 14.09x fewer lines than CSL, achieving over 260 TFlop/s across 730,000 PEs on a single device.
title SpaDA: A Spatial Dataflow Architecture Programming Language
topic Distributed, Parallel, and Cluster Computing
Programming Languages
D.3.4; C.1.2; D.1.3
url https://arxiv.org/abs/2511.09447