FPL: fast Presburger arithmetic through transprecision
Arjun Pitchanathan, Christian Ulmann, Michel Weber, Torsten Hoefler, Tobias Grosser
Abstract
Presburger arithmetic provides the mathematical core for the polyhedral compilation techniques that drive analytical cache models, loop optimization for ML and HPC, formal verification, and even hardware design. Polyhedral compilation is widely regarded as being slow due to the potentially high computational cost of the underlying Presburger libraries. Researchers typically use these libraries as powerful black-box tools, but the perceived internal complexity of these libraries, caused by the use of C as the implementation language and a focus on end-user-facing documentation, holds back broader performance-optimization efforts. With FPL, we introduce a new library for Presburger arithmetic built from the ground up in modern C++. We carefully document its internal algorithmic foundations, use lightweight C++ data structures to minimize memory management costs, and deploy transprecision computing across the entire library to effectively exploit machine integers and vector instructions. On a newly-developed comprehensive benchmark suite for Presburger arithmetic, we show a 5.4x speedup in total runtime over the state-of-the-art library isl in its default configuration and 3.6x over a variant of isl optimized with element-wise transprecision computing. We expect that the availability of a well-documented and fast Presburger library will accelerate the adoption of polyhedral compilation techniques in production compilers.
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 91836962-4e3c-4d75-896d-4d07bfec7d17Cited by top-tier papers2
- Maximum Consensus Floating Point Solutions for Infeasible Low-Dimensional Linear Programs with Convex Hull as the Intermediate RepresentationMridul Aanjaneya, Santosh NagarakattePLDI 2024 · 1 citation
- Strided Difference Bound MatricesArjun Pitchanathan, Albert Cohen, Oleksandr Zinenko, Tobias GrosserCAV 2024
Builds on2
- Fast linear programming through transprecision computing on small and sparse dataTobias Grosser, Theodoros Theodoridis, Maximilian Falkenstein, Arjun Pitchanathan et al.OOPSLA 2020 · 4 citations
- Automated derivation of parametric data movement lower bounds for affine programsAuguste Olivry, Julien Langou, Louis-Noël Pouchet, P. Sadayappan et al.PLDI 2020
Related papers
- Speeding up SMT Solving via Compiler OptimizationBenjamin Mikek, Qirun ZhangFSE 2023 · 11 citations
- An Optimizing Framework on MLIR for Efficient FPGA-based Accelerator GenerationWeichuang Zhang, Jieru Zhao, Guan Shen, Quan Chen et al.HPCA 2024 · 8 citations
- Verified code generation for the polyhedral modelNathanaël Courant, Xavier LeroyPOPL 2021 · 9 citations
- Falcon: A Scalable Analytical Cache ModelArjun Pitchanathan, Kunwar Grover, Tobias GrosserPLDI 2024 · 6 citations
- SpEQ: Translation of Sparse Codes using EquivalencesAvery Laird, Bangtian Liu, Nikolaj S. Bjørner, Maryam Mehri DehnaviPLDI 2024 · 6 citations
