2 citations · 3 across the 17 of their papers we have counts for
19 papers
Cyclotron: A Recurrence Language for Expressing Interprocessor Communication
Shiv Sundram, Akhilesh Balasingam, Nathan Zhang +2
We present Cyclotron, a compiler that expresses streaming dataflow algorithms using recurrence equations, which are then compiled to distributed topologies of interlinked processor…
Design Docs Are All You Need: An AI-native Machine-Learning Performance Tool
Samuel Kushnir, Kimia Noorbakhsh, Kavya Sreedhar +6
Machine-learning performance modeling is a uniquely hostile terrain for long-lived software: the assumptions baked into today's abstractions are invalidated by tomorrow's models an…
Compiling Bioinformatics Recurrences
Bala Vinaithirthan, Shiv Sundram, Sneha Goenka +1
Many bioinformatics algorithms, such as sequence alignment and structure prediction, can be expressed as recurrence equations over a dynamic programming matrix. Efficient implement…
TensorBench: Benchmarking Coding Agents on a Compiler-Based Tensor Framework
Bobby Yan, Fredrik Kjolstad
Repository-level coding benchmarks face a trade-off between task difficulty and evaluation reliability: tasks that challenge frontier models often involve large codebases with inco…
Partitioning Unstructured Sparse Tensor Algebra for Load-Balanced Parallel Execution
Atharva Chougule, Alexander J Root, Rubens Lacouture +3
Sparse tensor algebra is challenging to efficiently parallelize due to the irregular, data-dependent, and potentially skewed structure of sparse computation. We propose the first p…
Optimal Software Pipelining and Warp Specialization for Tensor Core GPUs
Rupanshu Soi, Rohan Yadav, Fredrik Kjolstad +4
GPU architectures have continued to grow in complexity, with recent incarnations introducing increasingly powerful fixed-function units for matrix multiplication and data movement…
Cyclotron: Compilation of Recurrences to Distributed and Systolic Architectures
Shiv Sundram, Akhilesh Balasingam, Nathan Zhang +2
We present Cyclotron, a framework and compiler for using recurrence equations to express streaming dataflow algorithms, which then get portably compiled to distributed topologies o…
Decoupling Data Layouts from Bounding Volume Hierarchies
Christophe Gyurgyik, Alexander J Root, Fredrik Kjolstad
Bounding volume hierarchies are ubiquitous acceleration structures in graphics, scientific computing, and data analytics. Their performance depends critically on data layout choice…
Bonsai: Compiling Queries to Pruned Tree Traversals
Alexander J Root, Christophe Gyurgyik, Purvi Goel +4
Trees can accelerate queries that search or aggregate values over large collections. They achieve this by storing metadata that enables quick pruning (or inclusion) of subtrees whe…
FuseFlow: A Fusion-Centric Compilation Framework for Sparse Deep Learning on Streaming Dataflow
Rubens Lacouture, Nathan Zhang, Ritvik Sharma +4
As deep learning models scale, sparse computation and specialized dataflow hardware have emerged as powerful solutions to address efficiency. We propose FuseFlow, a compiler that c…
On the Duality of Task and Actor Programming Models
Rohan Yadav, Joseph Guman, Sean Treichler +4
Programming models for distributed and heterogeneous machines are rapidly growing in popularity to meet the demands of modern workloads. Task and actor models are common choices th…
Fast Collection Operations from Indexed Stream Fusion
Scott Kovach, Praneeth Kolichala, Kyle A. Miller +2
We present a system of efficient methods for traversing and combining associative collection data structures. A distinguishing feature of the system is that, like traditional seque…
Ember: A Compiler for Efficient Embedding Operations on Decoupled Access-Execute Architectures
Marco Siracusa, Olivia Hsu, Victor Soria-Pardos +8
Irregular embedding lookups are a critical bottleneck in recommender models, sparse large language models, and graph learning models. In this paper, we first demonstrate that, by o…
A Compiler for Operations on Relations with Bag Semantics
James Dong, Fredrik Kjolstad
We describe an abstract loop-based intermediate representation that can express fused implementations of relational algebra expressions on sets and bags (multisets). The loops are…
Deegen: A JIT-Capable VM Generator for Dynamic Languages
Haoran Xu, Fredrik Kjolstad
Building a high-performance JIT-capable VM for a dynamic language has traditionally required a tremendous amount of time, money, and expertise. We present Deegen, a meta-compiler t…
Scorch: A Library for Sparse Deep Learning
Bobby Yan, Alexander J. Root, Trevor Gale +2
The rapid growth in the size of deep learning models strains the capabilities of traditional dense computation paradigms. Leveraging sparse computation has become increasingly popu…
Automatic Tracing in Task-Based Runtime Systems
Rohan Yadav, Michael Bauer, David Broman +3
Implicitly parallel task-based runtime systems often perform dynamic analysis to discover dependencies in and extract parallelism from sequential programs. Dependence analysis beco…
Composing Distributed Computations Through Task and Kernel Fusion
Rohan Yadav, Shiv Sundram, Wonchan Lee +4
We introduce Diffuse, a system that dynamically performs task and kernel fusion in distributed, task-based runtime systems. The key component of Diffuse is an intermediate represen…
SpDISTAL: Compiling Distributed Sparse Tensor Computations
Rohan Yadav, Alex Aiken, Fredrik Kjolstad
We introduce SpDISTAL, a compiler for sparse tensor algebra that targets distributed systems. SpDISTAL combines separate descriptions of tensor algebra expressions, sparse data str…