ACM Home Page
Please provide us with feedback. Feedback
Cole: compiler optimization level exploration
Full text PdfPdf (365 KB)
Source
Code Generation and Optimization archive
Proceedings of the sixth annual IEEE/ACM international symposium on Code generation and optimization table of contents
Boston, MA, USA
SESSION: Compiler optimization table of contents
Pages 165-174  
Year of Publication: 2008
ISBN:978-1-59593-978-4
Authors
Kenneth Hoste  Ghent University, Gent, Belgium
Lieven Ee khout  Ghent University, Gent, Belgium
Sponsors
ACM: Association for Computing Machinery
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 126,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1356058.1356080
What is a DOI?

ABSTRACT

Modern compilers implement a large number of optimizations which all interact in complex ways, and which all have a different impact on code quality, compilation time, code size, energy consumption, etc. For this reason, compilers typically provide a limited number of standard optimization levels, such as -O1, -O2, -O3 and -Os, that combine various optimizations providing a number of trade-offs between multiple objective functions (such as code quality, compilation time and code size). The construction of these optimization levels, i.e., choosing which optimizations to activate at each level, is a manual process typically done using high-level heuristics based on the compiler developer's experience.

This paper proposes COLE, Compiler Optimization Level Exploration, a framework for automatically finding Pareto optimal optimization levels through multi-objective evolutionary searching. Our experimental results using GCC and the SPEC CPU benchmarks show that the automatic construction of optimization levels is feasible in practice, and in addition, yields better optimization levels than GCC's manually derived (-Os, -O1, -O2 and -O3) optimization levels, as well as the optimization levels obtained through random sampling. We also demonstrate that COLE can be used to gain insight into the effectiveness of compiler optimizations as well as to better understand a benchmark's sensitivity to compiler optimizations.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
L. Almagor, K. D. Cooper, A. Grosul, T. J. Harvey, S. Reeves, D. Subramanian, L. Torczon, and T. Waterman. Compilation order matters: Exploring the structure of the space of compilation sequences using randomized search algorithms. In Proceedings of the ACM SIGPLAN Symposium on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 231--239, June 2004.
3
4
 
5
F. Bodin, T. Kisuki, P. Knijnenburg, M. O'Boyle, and E. Rohou. Iterative compilation in a non-linear optimisation space. In Proceedings of the Workshop on Profile and Feedback-Directed Compilation, in Conjunction with the Intl. Conf. on Parallel Architectures and Compilation Techniques (PACT), Oct. 1998.
 
6
 
7
8
 
9
K. Chow and Y. Wu. Feedback-directed selection and characterization of compiler optimizations. In Proceedings of the Workshop on Feedback--Directed and Dynamic Optimization (FDDO), Nov. 1999.
10
 
11
 
12
G. Fursin, A. Cohen, M. O'Boyle, and O. Temam. Quick and practical run--time evaluation of multiple program optimizations. Transactions on High Performance Embedded Architectures and Compilation Techniques (HiPEAC), 1(1):13--31, 2006.
 
13
 
14
E. Granston and A. Holler. Automatic recommendation of compiler options. In Proceedings of the Workshop on Feedback-Directed and Dynamic Optimization (FDDO), Dec. 2001.
15
 
16
17
18
 
19
20
21
 
22
S. Triantafyllis, M. Vachharajani, and D. I. August. Compiler optimization--space exploration. Journal of Instruction--level Parallelism, Jan. 2005. Accessible at http://www.jilp.org/vol7.
 
23
H. Wu, E. Park, M. Kaplarevic, and Y. Zhang. Dynamic optimization option search in GCC. In Proceedings of the GCC Developers Summit 2007, June 2007.
24
 
25
E. Zitzler, M. Laumanns, and L. Thiele. SPEA2: Improving the strength pareto evolutionary algorithm. Technical Report TIK--Report 103, Swiss Federal Institute of Technology (ETH) Zurich, May 2001.
 
26
E. Zitzler and L. Thiele. Multiobjective evolutionary algorithms: A comparative case study and the strength perato approach. IEEE Transactions on Evolutionary Computation, 3(4):257--271, Nov. 1999.


Collaborative Colleagues:
Kenneth Hoste: colleagues
Lieven Ee khout: colleagues