REPTILE: Performant Tiling of Recurrences
Muhammad Usman Tariq, Shiv Sundram, Fredrik Kjolstad
Abstract
We introduce REPTILE, a compiler that performs tiling optimizations for programs expressed as mathematical recurrence equations. REPTILE recursively decomposes a recurrence program into a set of unique tiles and then simplifies each into a different set of recurrences. Given declarative user specifications of recurrence equations, optimizations, and optional mappings of recurrence subexpressions to external libraries calls, REPTILE generates C code that composes compiler-generated loops with calls to external hand-optimized libraries. We show that for direct linear solvers expressible as recurrence equations, the generated C code matches and often exceeds the performance of standard hand-optimized libraries. We evaluate REPTILE’s generated C code against hand-optimized implementations of linear solvers in Intel MKL, as well as two nonsolver recurrences from bioinformatics: Needleman-Wunsch and Smith-Waterman. When the user provides good tiling specifications, REPTILE achieves parity with MKL, achieving between 0.79−1.27x speedup for the LU decomposition, 0.97−1.21x speedup for the Cholesky decomposition, 1.61x−2.72x for lower triangular matrix inversion, 1.01−1.14x speedup for triangular solve with multiple right-hand sides, and 1.14−1.73x speedup over handwritten implementations of the bioinformatics recurrences.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext c64fea41-dc37-4de4-b1c1-33afb3834cecCited by top-tier papers1
Ask how each one uses itBuilds on6
- Exocompilation for productive programming of hardware acceleratorsYuka Ikarashi, Gilbert Louis Bernstein, Alex Reinking, Hasan Genc et al.PLDI 2022 · 56 citations
- A sparse iteration space transformation framework for sparse tensor algebraRyan Senanayake, Changwan Hong, Ziheng Wang, Amalee Wilson et al.OOPSLA 2020 · 51 citations
- NASOQ: numerically accurate sparsity-oriented QP solverKazem Cheshmi, Danny M. Kaufman, Shoaib Kamil, Maryam Mehri DehnaviSIGGRAPH 2020 · 29 citations
- On the parallel I/O optimality of linear algebra kernels: near-optimal matrix factorizationsGrzegorz Kwasniewski, Marko Kabic, Tal Ben-Nun, Alexandros Nikolaos Ziogas et al.SC 2021 · 18 citations
- Mosaic: An Interoperable Compiler for Tensor AlgebraManya Bansal, Olivia Hsu, Kunle Olukotun, Fredrik KjolstadPLDI 2023 · 16 citations
Related papers
- Compiling Recurrences over Dense and Sparse ArraysShiv Sundram, Muhammad Usman Tariq, Fredrik KjolstadOOPSLA 2024 · 2 citations
- Optimizing the Memory Hierarchy by Compositing Automatic Transformations on Computations and DataJie Zhao, Peng DiMICRO 2020 · 32 citations
- Moirae: Generating High-Performance Composite Stencil Programs with Global OptimizationsXiaoyan Liu, Xinyu Yang, Kejie Ma, Shanghao Liu et al.SC 2024 · 2 citations
- TileLang: Bridge Programmability and Performance in Modern Neural KernelsLei Wang, Yu Cheng, Yining Shi, Zhiwen Mo et al.ICLR 2026
- Vectorization for digital signal processors via equality saturationAlexa VanHattum, Rachit Nigam, Vincent T. Lee, James Bornholt et al.ASPLOS 2021 · 57 citations
