[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1088149.1088171acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
Article

Generating new general compiler optimization settings

Published: 20 June 2005 Publication History

Abstract

Finding nearly optimal optimization settings for modern compilers which can utilize a large number of optimizations is a combinatorially exponential problem. In this paper, we investigate whether in the presence of many optimization choices random generation of compiler settings can be used to obtain well performing compiler settings. We apply this random generation of compiler setting to gcc 3.3.1 which implements 54 optimizations. Our results show that this technique can be used to obtain a setting which exceeds the performance of the default optimization settings O1, O2, and O3 for each program in the SPECint95 benchmark suite. We also apply this technique to obtain a general setting which is suitable for many programs. This setting performs equally well as the default settings using significantly less options. Finally, we compare our setting with the default settings of gcc and analyze the difference.

References

[1]
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.
[2]
G. E. P. Box, W. G. Hunter, and J. S. Hunter. Statistics for Eperimenters. An Introduction to Design, Data Analysis, and Model Building. Wiley and Sons, 1978.
[3]
K. Chow and Y. Wu. Feedback-directed selection and characterization of compiler optimizations. In Proc. 2nd Workshop on Feedback Directed Optimization, 1999.
[4]
K. D. Cooper, P. J. Schielke, and D. Subramanian. Optimizing for reduced code space using genetic algorithms. In Proc. Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 1--9, 1999.
[5]
E. Granston and A. Holler. Automatic recommendation of compiler options. In Proc. 4th Workshop on Feedback-Directed and Dynamic Optimization, 2001.
[6]
T. Kisuki, P. M. W. Knijnenburg, and M. F. P. O'Boyle. Combined selection of tile sizes and unroll factors using iterative compilation. In Proc. PACT, pages 237--246, 2000.
[7]
A. Monsifrot, F. Bodin, and R. Quiniou. A machine learning approach to automatic production of compiler heuristics. In Proc. AIMSA, LNCS 2443, pages 41--50, 2002.
[8]
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[9]
A. Nisbet. GAPS: Genetic algorithm optimised parallelization. In Proc. Workshop on Profile and Feedback Directed Compilation, 1998.
[10]
GNU Consortium. GCC online documentation. http://www.gcc.gnu.org/onlinedocs/.
[11]
R. P. J. Pinkers, P. M. W. Knijnenburg, M. Haneda, and H. A. G. Wijshoff. Statistical selection of compiler options. In Proc. MASCOTS, pages 494--501, 2004.
[12]
M. Stephenson, M. Martin, and U. M. O'Reilly. Meta optimization: Improving compiler heuristics with machine learning. In Proc. PLDI, pages 77--90, 2003.
[13]
J. P. Tremblay and P. G. Sorenson. The Theory and Practice of Compiler Writing. McGraw-Hill, 1985.
[14]
S. Triantafyllis, M. Vachharajani, N. Vachharajani, and D. I. August. Compiler optimization-space exploration. In Proc. International Symposium on Code Generation and Optimization, pages 204--215, 2003.
[15]
W. M. Waite and G. Goos. Compiler Construction. Springer Verlag, 1984.
[16]
D. L. Whitfield and M. L. Soffa. An approach for exploring code improving transformations. ACM Transactions on Programming Languages and Systems, 19(6):1053--1084, 1997.
[17]
M. Zhao, B. Childers, and M. L. Soffa. Predicting the impact of optimizations for embedded systems. In Proc. LCTES, pages 1--11, 2003.
[18]
W. Zhao, B. Cai, D. Whalley, M. W. Bailey, R. van Engelen, X. Yuan, J. D. Hiser, J. W. Davidson, and K. Gallivan. VISTA: A system for interactive code improvement. In Proc. LCTES, pages 155--164, 2002.

Cited By

View all
  • (2020)Smart selection of optimizations in dynamic compilersConcurrency and Computation: Practice and Experience10.1002/cpe.608933:18Online publication date: 26-Nov-2020
  • (2018)Survey on Access Control for Community-Centered Collaborative SystemsACM Computing Surveys10.1145/314602551:1(1-38)Online publication date: 4-Jan-2018
  • (2018)Yet Another Intelligent Code-Generating System: A Flexible and Low-Cost SolutionJournal of Computer Science and Technology10.1007/s11390-018-1867-733:5(940-965)Online publication date: 12-Sep-2018
  • Show More Cited By

Index Terms

  1. Generating new general compiler optimization settings

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '05: Proceedings of the 19th annual international conference on Supercomputing
    June 2005
    414 pages
    ISBN:1595931678
    DOI:10.1145/1088149
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 June 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. compiler optimization
    2. compiler tuning
    3. iterative compilation

    Qualifiers

    • Article

    Conference

    ICS05
    Sponsor:
    ICS05: International Conference on Supercomputing 2005
    June 20 - 22, 2005
    Massachusetts, Cambridge

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 12 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Smart selection of optimizations in dynamic compilersConcurrency and Computation: Practice and Experience10.1002/cpe.608933:18Online publication date: 26-Nov-2020
    • (2018)Survey on Access Control for Community-Centered Collaborative SystemsACM Computing Surveys10.1145/314602551:1(1-38)Online publication date: 4-Jan-2018
    • (2018)Yet Another Intelligent Code-Generating System: A Flexible and Low-Cost SolutionJournal of Computer Science and Technology10.1007/s11390-018-1867-733:5(940-965)Online publication date: 12-Sep-2018
    • (2016)Auto-Tuning of Hybrid MPI/OpenMP Execution with Code Selection by ppOpen-AT2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2016.49(1488-1495)Online publication date: May-2016
    • (2015)Improved batch elimination: A fast algorithm to identify and remove harmful compiler optimizations2015 Latin American Computing Conference (CLEI)10.1109/CLEI.2015.7360010(1-8)Online publication date: Oct-2015
    • (2014)Analyzing and addressing false interactions during compiler optimization phase orderingSoftware—Practice & Experience10.1002/spe.217644:6(643-679)Online publication date: 1-Jun-2014
    • (2013)Exploring single and multilevel JIT compilation policy for modern machines 1ACM Transactions on Architecture and Code Optimization10.1145/2541228.254122910:4(1-29)Online publication date: 1-Dec-2013
    • (2011)A simple abstraction for complex concurrent indexesACM SIGPLAN Notices10.1145/2076021.204813146:10(845-864)Online publication date: 22-Oct-2011
    • (2011)Variability-aware parsing in the presence of lexical macros and conditional compilationACM SIGPLAN Notices10.1145/2076021.204812846:10(805-824)Online publication date: 22-Oct-2011
    • (2011)JIT compilation policy for modern machinesACM SIGPLAN Notices10.1145/2076021.204812646:10(773-788)Online publication date: 22-Oct-2011
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media