Affiliation:
1. University of Delaware, Newark, DE, USA
Abstract
Today's compilers have a plethora of optimizations to choose from, and the correct choice of optimizations can have a significant impact on the performance of the code being optimized. Furthermore, choosing the correct order in which to apply those optimizations has been a long standing problem in compilation research. Each of these optimizations interacts with the code and in turn with all other optimizations in complicated ways. Traditional compilers typically apply the same set of optimization in a fixed order to all functions in a program, without regard the code being optimized.
Understanding the interactions of optimizations is very important in determining a good solution to the phase-ordering problem. This paper develops a new approach that automatically selects good optimization orderings on a per method basis within a dynamic compiler. Our approach formulates the phase-ordering problem as a Markov process and uses a characterization of the current state of the code being optimized to creating a better solution to the phase ordering problem. Our technique uses
neuro-evolution
to construct an artificial neural network that is capable of predicting beneficial optimization ordering for a piece of code that is being optimized. We implemented our technique in Jikes RVM and achieved significant improvements on a set of standard Java benchmarks over a well-engineered fixed order.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
55 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Compiler Auto-Tuning via Critical Flag Selection;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
2. Efficiently Learning Locality Optimizations by Decomposing Transformation Domains;Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction;2023-02-17
3. Enabling Transformers to Understand Low-Level Programs;2022 IEEE High Performance Extreme Computing Conference (HPEC);2022-09-19
4. Compiler Optimization Parameter Selection Method Based on Ensemble Learning;Electronics;2022-08-06
5. LocSeq: Automated Localization for Compiler Optimization Sequence Bugs of LLVM;IEEE Transactions on Reliability;2022-06