Affiliation:
1. University of Utah, Salt Lake City, UT, USA
Abstract
This paper presents a new polyhedra scanning system called CodeGen+ to address the challenge of generating high-performance code for complex iteration spaces resulting from compiler optimization and autotuning systems. The strength of our approach lies in two new algorithms. First, a loop overhead removal algorithm provides precise control of trade-offs between loop overhead and code size based on actual loop nesting depth. Second, an if-statement simplification algorithm further reduces the number of comparisons in the code. These algorithms combined with the expressive power of Presburger arithmetic enable CodeGen+ to support complex optimization strategies expressed in iteration spaces. We compare with the state-of-the-art polyhedra scanning tool CLooG on five loop nest computations, demonstrating that CodeGen+ generates code that is simpler and up to 1.15x faster.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
19 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Code Synthesis for Sparse Tensor Format Conversion and Optimization;Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization;2023-02-17
2. Polyhedral Specification and Code Generation of Sparse Tensor Contraction with Co-iteration;ACM Transactions on Architecture and Code Optimization;2022-12-16
3. Techniques for Managing Polyhedral Dataflow Graphs;Languages and Compilers for Parallel Computing;2022
4. An Object-Oriented Interface to The Sparse Polyhedral Library;2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC);2021-07
5. Revisiting split tiling for stencil computations in polyhedral compilation;The Journal of Supercomputing;2021-05-27