Compiling Recurrences over Dense and Sparse Arrays
Shiv Sundram, Muhammad Usman Tariq, Fredrik Kjolstad
摘要
Recurrence equations lie at the heart of many computational paradigms including dynamic programming, graph analysis, and linear solvers. These equations are often expensive to compute and much work has gone into optimizing them for different situations. The set of recurrence implementations is a large design space across the set of all recurrences (e.g., the Viterbi and Floyd-Warshall algorithms), the choice of data structures (e.g., dense and sparse matrices), and the set of different loop orders. Optimized library implementations do not exist for most points in this design space, and developers must therefore often manually implement and optimize recurrences. We present a general framework for compiling recurrence equations into native code corresponding to any valid point in this general design space. In this framework, users specify a system of recurrences, the type of data structures for storing the input and outputs, and a set of scheduling primitives for optimization. A greedy algorithm then takes this specification and lowers it into a native program that respects the dependencies inherent to the recurrence equation. We describe the compiler transformations necessary to lower this high-level specification into native parallel code for either sparse and dense data structures and provide an algorithm for determining whether the recurrence system is solvable with the provided scheduling primitives. We evaluate the performance and correctness of the generated code on various computational tasks from domains including dense and sparse matrix solvers, dynamic programming, graph problems, and sparse tensor algebra. We demonstrate that generated code has competitive performance to handwritten implementations in libraries.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- REPTILE: Performant Tiling of RecurrencesMuhammad Usman Tariq, Shiv Sundram, Fredrik KjolstadOOPSLA 2025 · 被引用 1 次
- RTeAAL Sim: Using Tensor Algebra to Represent and Accelerate RTL SimulationYan Zhu, Boru Chen, Christopher W. Fletcher, Nandeeka NayakASPLOS 2026 · 被引用 1 次
- FuseFlow: A Fusion-Centric Compilation Framework for Sparse Deep Learning on Streaming DataflowRubens Lacouture, Nathan Zhang, Ritvik Sharma, Marco Siracusa 等ASPLOS 2026 · 被引用 1 次
- Bonsai: Compiling Queries to Pruned Tree TraversalsAlexander J. Root, Christophe Gyurgyik, Purvi Goel, Kayvon Fatahalian 等PLDI 2026
- Filtr: Compiling Bioinformatics RecurrencesBala Vinaithirthan, Shiv Sundram, Sneha Goenka, Fredrik KjolstadOOPSLA 2026
它引用的顶会 Paper3
- Compilation of sparse array programming modelsRawn Henry, Olivia Hsu, Rohan Yadav, Stephen Chou 等OOPSLA 2021 · 被引用 26 次
- A supernodal all-pairs shortest path algorithmPiyush Sao, Ramakrishnan Kannan, Prasun Gera, Richard W. VuducPPoPP 2020 · 被引用 19 次
- Simplifying dependent reductions in the polyhedral modelCambridge Yang, Eric Atkinson, Michael CarbinPOPL 2021 · 被引用 5 次
相关 Paper
- A sparse iteration space transformation framework for sparse tensor algebraRyan Senanayake, Changwan Hong, Ziheng Wang, Amalee Wilson 等OOPSLA 2020 · 被引用 51 次
- Compilation of dynamic sparse tensor algebraStephen Chou, Saman P. AmarasingheOOPSLA 2022 · 被引用 8 次
- Compilation of Modular and General Sparse WorkspacesGenghan Zhang, Olivia Hsu, Fredrik KjolstadPLDI 2024 · 被引用 6 次
- TensorLib: A Spatial Accelerator Generation Framework for Tensor AlgebraLiancheng Jia, Zizhang Luo, Liqiang Lu, Yun LiangDAC 2021 · 被引用 49 次
- The Sparse Abstract MachineOlivia Hsu, Maxwell Strange, Ritvik Sharma, Jaeyeon Won 等ASPLOS 2023 · 被引用 37 次
