Affiliation:
1. Massachusetts Institute of Technology, Cambridge, MA
Abstract
Compiler writers have crafted many heuristics over the years to approximately solve NP-hard problems efficiently. Finding a heuristic that performs well on a broad range of applications is a tedious and difficult process. This paper introduces Meta Optimization, a methodology for automatically fine-tuning compiler heuristics. Meta Optimization uses machine-learning techniques to automatically search the space of compiler heuristics. Our techniques reduce compiler design complexity by relieving compiler writers of the tedium of heuristic tuning. Our machine-learning system uses an evolutionary algorithm to automatically find effective compiler heuristics. We present promising experimental results. In one mode of operation Meta Optimization creates application-specific heuristics which often result in impressive speedups. For hyperblock formation, one optimization we present in this paper, we obtain an average speedup of 23% (up to 73%) for the applications in our suite. Furthermore, by evolving a compiler's heuristic over several benchmarks, we can create effective, general-purpose heuristics. The best general-purpose heuristic our system found for hyperblock formation improved performance by an average of 25% on our training set, and 9% on a completely unrelated test set. We demonstrate the efficacy of our techniques on three different optimizations in this paper: hyperblock formation, register allocation, and data prefetching.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference23 articles.
1. W. Banzhaf P. Nordin R. Keller and F. Francone. Genetic Programming : An Introduction : On the Automatic Evolution of Computer Programs and Its Applications Morgan Kaufmann 1998. W. Banzhaf P. Nordin R. Keller and F. Francone. Genetic Programming : An Introduction : On the Automatic Evolution of Computer Programs and Its Applications Morgan Kaufmann 1998.
2. Spill code minimization techniques for optimizing compliers
3. D. Bourgin. Losslessy compression schemes http://hpux.u-aizu.ac.jp/hppd/hpux-/Languages/codecs-1.0/. D. Bourgin. Losslessy compression schemes http://hpux.u-aizu.ac.jp/hppd/hpux-/Languages/codecs-1.0/.
4. Evidence-based static branch prediction using machine learning
Cited by
87 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Metaheuristics and Machine Learning Convergence;Advances in Systems Analysis, Software Engineering, and High Performance Computing;2024-06-30
2. Revealing Compiler Heuristics Through Automated Discovery and Optimization;2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2024-03-02
3. Guided Equality Saturation;Proceedings of the ACM on Programming Languages;2024-01-05
4. Facile: Fast, Accurate, and Interpretable Basic-Block Throughput Prediction;2023 IEEE International Symposium on Workload Characterization (IISWC);2023-10-01
5. Uncovering the performance bottleneck of modern HPC processor with static code analyzer: a case study on Kunpeng 920;CCF Transactions on High Performance Computing;2023-09-15