Ripple: Asynchronous Programming for Spatial Dataflow Architectures
summary
Ripple is a new language plus ISA and microarchitectural support that exposes asynchronous iterators and hardware token queues so compilers lower queues and pipelined task communication directly to SDAs. Implementation adds Q and arbiter instructions with dynamic spilling and acquires/releases for shared-memory atomics, and evaluation uses a Riptide-based simulator across nine workloads. Results show 3× median speedup, 1.9× smaller static programs, 58% higher IPC and 44% fewer dynamic instructions, demonstrating the approach works.
AI-written summary · about
chapters (9)
- 0:00Ripple and SDAs
- 1:48Abstraction inversion in SDAs
- 3:13SDA dataflow execution
- 5:41BFS example and C limits
- 10:41Ripple's async primitives
- 13:49Hardware cues and spilling
- 15:55Why Ripple over others
- 16:37Performance results
- 18:21Summary and Q&A
related talks
17mLet It Flow: A Formally Verified Compilation Framework for Asynchronous Dataflow
01h 02mHydroflow: A Compiler Target for Fast, Correct Distributed Programs
01h 25mRISC V Bit Manipulation ISA Extension Spec, Hardware, Software
36mAccelerate RISC-V Instruction Set Simulation by Tiered JIT Compilation
22mSirop: A Small IR for HLS with Parallel Patterns
22mRISC-V Perf-Model: An Open Source Cycle Accurate Performance Mo...
20mRISC V Software State of the Union
11mDriving SoC Innovation with Synopsys RISC-V Solutions
