Revet: A Language and Compiler for Dataflow Threads
Alexander Rucker, Shiv Sundram, Coleman Smith, Matthew Vilim, Raghu, Prabhakar, Fredrik Kjolstad, Kunle Olukotun

TL;DR
Revet is a new programming model and compiler that enables threaded applications to efficiently run on vectorized reconfigurable dataflow accelerators, outperforming GPUs in certain benchmarks.
Contribution
It introduces Revet, a language and compiler that bridges threaded programming with dataflow accelerators, enhancing flexibility and performance.
Findings
Revet outperforms GPUs by 3.8x in dataflow mapping.
The MLIR-based compiler effectively lowers Revet to a dataflow backend.
Revet supports a broader application range than existing dataflow languages.
Abstract
Spatial dataflow architectures such as reconfigurable dataflow accelerators (RDA) can provide much higher performance and efficiency than CPUs and GPUs. In particular, vectorized reconfigurable dataflow accelerators (vRDA) in recent literature represent a design point that enhances the efficiency of dataflow architectures with vectorization. Today, vRDAs can be exploited using either hardcoded kernels or MapReduce languages like Spatial, which cannot vectorize data-dependent control flow. In contrast, CPUs and GPUs can be programmed using general-purpose threaded abstractions. The ideal combination would be the generality of a threaded programming model coupled with the efficient execution model of a vRDA. We introduce Revet: a programming model, compiler, and execution model that lets threaded applications run efficiently on vRDAs. The Revet programming language uses threads to…
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
