Cyclotron: Compilation of Recurrences to Distributed and Systolic Architectures
Shiv Sundram, Akhilesh Balasingam, Nathan Zhang, Kunle Olukotun, Fredrik Kjolstad

TL;DR
Cyclotron is a versatile compiler framework that translates recurrence equations into efficient, portable streaming dataflow algorithms for distributed and systolic architectures, optimizing local memory access and enabling hardware and software design exploration.
Contribution
It introduces a recurrence-based input language and a scheduling language for portable, optimized compilation to diverse distributed and systolic hardware architectures.
Findings
Achieves local data access within iteration spaces, reducing costly memory movement.
Successfully compiles matrix routines competitive with established libraries like ScaLAPACK.
Demonstrates portability across reconfigurable hardware simulators and distributed CPU clusters.
Abstract
We present Cyclotron, a framework and compiler for using recurrence equations to express streaming dataflow algorithms, which then get portably compiled to distributed topologies of interlinked processors. Our framework provides an input language of recurrences over logical tensors, which then gets lowered into an intermediate language of recurrences over logical iteration spaces, and finally into programs of send, receive, and computation operations specific to each individual processor. In Cyclotron's IR, programs are optimized such that external memory interactions are confined to the boundaries of the iteration space. Within inner iteration spaces, all data accesses become local: data accesses target values residing in local fast memory or on neighboring processing units, avoiding costly memory movement. We provide a scheduling language allowing users to define how data gets…
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 · Embedded Systems Design Techniques · Logic, programming, and type systems
