Let It Flow: A Formally Verified Compilation Framework for Asynchronous Dataflow
Zhengyao Lin, Yi Cai, Milijana Surbatovich
Abstract
Dataflow architectures have gained renewed interest due to their balance between energy efficiency and performance. In (spatial) dataflow architectures, a program is represented as a set of entirely distributed and dynamically scheduled dataflow operators that communicate through asynchronous channels, which greatly improves data locality and parallelism. However, compiling to dataflow architectures remains an error-prone process, due to the difficulty of maintaining determinacy while enabling pipelining . Determinacy means that the result of a dataflow program is deterministic and independent of the schedule of operator execution, and pipelining is an important optimization in spatial dataflow that enables parallelism across loop iterations. In this work, we present Wavelet, the first effort to formally verify a compiler for asynchronous dataflow. We use a mix of techniques to achieve this goal. Our frontend uses a novel capability type system with fences to synchronize conflicting memory accesses and enable pipelining . We then verify a Lean formalization of two core compiler passes that translate elaborated programs from the type checker to dataflow graphs, proving important properties of forward simulation and determinacy . Notably, our formalization semantically propagates the soundness guarantees of the frontend type system, ensuring modularity between simulation and determinacy proofs. In our evaluation, we show that dataflow graphs compiled by Wavelet have comparable quality to those produced by unverified dataflow compilers from RipTide and LLVM CIRCT.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Builds on22
- Interaction trees: representing recursive and impure programs in CoqLi-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur et al.POPL 2020 · 133 citations
- Verus: Verifying Rust Programs using Linear Ghost TypesAndrea Lattuada, Travis Hance, Chanhee Cho, Matthias Brun et al.OOPSLA 2023 · 86 citations
- Snafu: An Ultra-Low-Power, Energy-Minimal CGRA-Generation Framework and ArchitectureGraham Gobieski, Ahmet Oguz Atli, Kenneth Mai, Brandon Lucia et al.ISCA 2021 · 84 citations
- A programmable, energy-minimal dataflow compiler and architectureGraham Gobieski, Souradip Ghosh, Marijn Heule, Todd C. Mowry et al.MICRO 2022 · 66 citations
- Predictable accelerator design with time-sensitive affine typesRachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li et al.PLDI 2020 · 58 citations
Related papers
- Ripple: Asynchronous Programming for Spatial Dataflow ArchitecturesSouradip Ghosh, Yufei Shi, Brandon Lucia, Nathan BeckmannPLDI 2025 · 4 citations
- ElasticMiter: Formally Verified Dataflow Circuit RewritesAyatallah Elakhras, Jiahui Xu, Martin Erhart, Paolo Ienne et al.ASPLOS 2025 · 3 citations
- A Mechanized Semantics for Dataflow CircuitsTony Law, Delphine Demange, Sandrine BlazyOOPSLA 2025 · 2 citations
- FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional PermissionsZhengyao Lin, Joshua Gancher, Bryan ParnoOOPSLA 2024 · 4 citations
- Graphiti: Formally Verified Out-of-Order Execution in Dataflow CircuitsYann Herklotz, Ayatallah Elakhras, Martina Camaioni, Paolo Ienne et al.ASPLOS 2026 · 1 citation
