We present a framework for compiling recurrence equations into native code. In our framework, users specify a system of recurrences, the types of data structures that store inputs and outputs, and scheduling commands for optimization. Our compiler then lowers these specifications into native code that respects the dependencies in the recurrence equations. Our compiler can generate code over both sparse and dense data structures, and determines if the recurrence system is solvable with the provided scheduling primitives. We evaluate the performance and correctness of the generated code on several recurrences, from domains as diverse as dense and sparse matrix solvers, dynamic programming, graph problems, and sparse tensor algebra. We demonstrate that the generated code has competitive performance to hand-optimized implementations in libraries. However, these handwritten libraries target specific recurrences, specific data structures, and specific optimizations. Our system, on the other hand, automatically generates implementations from recurrences, data formats, and schedules, giving our system more generality than library approaches.
Thu 24 OctDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:20 | Compilers and Optimisation 1OOPSLA 2024 at San Gabriel Chair(s): Emery D. Berger University of Massachusetts Amherst | ||
10:40 20mTalk | Compilation of Shape Operators on Sparse Arrays OOPSLA 2024 Alexander J Root Stanford University, Bobby Yan Stanford University, Peiming Liu Google Inc, Christophe Gyurgyik Stanford University, Aart Bik Google, Inc., Fredrik Kjolstad Stanford University DOI Pre-print | ||
11:00 20mTalk | Compiler Support for Sparse Tensor Convolutions OOPSLA 2024 Peiming Liu Google Inc, Alexander J Root Stanford University, Anlun Xu Google, Yinying Li Google, Fredrik Kjolstad Stanford University, Aart Bik Google, Inc. DOI | ||
11:20 20mTalk | Compiling Recurrences over Dense and Sparse Arrays OOPSLA 2024 Shiv Sundram Stanford University, Muhammad Usman Tariq Stanford University, Fredrik Kjolstad Stanford University DOI | ||
11:40 20mTalk | Fully Verified Instruction Scheduling OOPSLA 2024 Ziteng Yang Georgia Institute of Technology, Jun Shirako Georgia Institute of Technology, Vivek Sarkar Georgia Institute of Technology DOI Pre-print | ||
12:00 20mTalk | Homeostasis: Design and Implementation of a Self-Stabilizing Compiler (TOPLAS) OOPSLA 2024 Link to publication |