Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/CGO.2006.15acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
Article

Exhaustive Optimization Phase Order Space Exploration

Published: 26 March 2006 Publication History

Abstract

The phase-ordering problem is a long standing issue for compiler writers. Most optimizing compilers typically have numerous different code-improving phases, many of which can be applied in any order. These phases interact by enabling or disabling opportunities for other optimization phases to be applied. As a result, varying the order of applying optimization phases to a program can produce different code, with potentially significant performance variation amongst them. Complicating this problem further is the fact that there is no universal optimization phase order that will produce the best code, since the best phase order depends on the function being compiled, the compiler, and the target architecture characteristics. Moreover, finding the optimal optimization sequence for even a single function is hard as the space of attempted optimization phase sequences is huge and the interactions between different optimizations are poorly understood. Most previous studies performed to search for the most effective optimization phase sequence assume the optimization phase order search space to be extremely large, and hence consider exhaustive exploration of this space infeasible. In this paper we show that even though the attempted search space is extremely large, with careful and aggressive pruning it is possible to limit the actual search space with no loss of information so that it can be completely evaluated in a matter of minutes or a few hours for most functions. We were able to exhaustively enumerate all the possible function instances that can be produced by different phase orderings performed by our compiler for more than 98% of the functions in our benchmark suite. In this paper we describe the algorithm we used to make exhaustive search of the optimization phase order space possible. We then analyze this space to automatically calculate relationships between different phases. Finally, we show that the results of this analysis can be used to reduce the compilation time for a conventional batch compiler.

References

[1]
{1} Steven R. Vegdahl. Phase coupling and constant generation in an optimizing microcode compiler. In Proceedings of the 15th annual workshop on Microprogramming, pages 125- 133. IEEE Press, 1982.
[2]
{2} D. Whitfield and M. L. Soffa. An approach to ordering optimizing transformations. In Proceedings of the second ACM SIGPLAN symposium on Principles & Practice of Parallel Programming, pages 137-146. ACM Press, 1990.
[3]
{3} Keith D. Cooper, Philip J. Schielke and Devika Subramanian. Optimizing for reduced code space using genetic algorithms. In Workshop on Languages, Compilers and Tools for Embedded Systems, pages 1-9, May 1999.
[4]
{4} Prasad Kulkarni, Wankang Zhao, Hwashin Moon, Kyunghwan Cho, David Whalley, Jack Davidson, Mark Bailey, Yunheung Paek and Kyle Gallivan. Finding effective optimization phase sequences. In Proceedings of the 2003 ACM SIGPLAN conference on Language, Compiler, and Tool for Embedded Systems, pages 12-23. ACM Press, 2003.
[5]
{5} T. Kisuki, P. 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.
[6]
{6} Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani and David I. August. Compiler optimization-space exploration. In Proceedings of the international symposium on Code Generation and Optimization, pages 204-215. IEEE Computer Society, 2003.
[7]
{7} Prasad A. Kulkarni, Stephen R. Hines, David B. Whalley, Jason D. Hiser, Jack W. Davidson and Douglas L. Jones. Fast and efficient searches for effective optimization-phase sequences. ACM Trans. Archit. Code Optim., 2(2):165-198, 2005.
[8]
{8} T. Kisuki, P. M. W. Knijnenburg, M. F. P. O'Boyle, F. Bodin, and H. A. G. Wijshoff. A feasibility study in iterative compilation. In Proc. ISHPC'99, volume 1615 of Lecture Notes in Computer Science, pages 121-132, 1999.
[9]
{9} L. Almagor, Keith D. Cooper, Alexander Grosul, Timothy J. Harvey, Steven W. Reeves, Devika Subramanian, Linda Torczon and Todd Waterman. Finding effective compilation sequences. In LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, Compilers, and Tools for Embedded Systems, pages 231-239, New York, NY, USA, 2004. ACM Press.
[10]
{10} Deborah L. Whitfield and Mary Lou Soffa. An approach for exploring code improving transformations. ACM Trans. Program. Lang. Syst., 19(6):1053-1084, 1997.
[11]
{11} Elana D. Granston and Anne Holler. Automatic recommendation of compiler options. 4th Workshop of Feedback-Directed and Dynamic Optimization, December 2001.
[12]
{12} K. Chow and Y. Wu. Feedback-directed selection and characterization of compiler optimizatons. Proc. 2nd Workshop on Feedback Directed Optimization, 1999.
[13]
{13} F. Bodin, T. Kisuki, P. M. W. Knijnenburg, M. F. P. O'Boyle, and E. Rohou. Iterative compilation in a non-linear optimisation space. Proc. Workshop on Profile and Feedback Directed Compilation. Organized in conjuction with PACT'98, 1998.
[14]
{14} P. Kulkarni, S. Hines, J. Hiser, D. Whalley, J. Davidson and D. Jones. Fast searches for effective optimization phase sequences. In Proceedings of the ACM SIGPLAN '04 Conference on Programming Language Design and Implementation , pages 171-182, June 2004.
[15]
{15} M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN'88 conference on Programming Language Design and Implementation , pages 329-338. ACM Press, 1988.
[16]
{16} M. E. Benitez and J. W. Davidson. The advantages of machine-dependent global optimization. In Proceedings of the 1994 International Conference on Programming Languages and Architectures, pages 105-124, March 1994.
[17]
{17} Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge and Richard B. Brown. MiBench: A free, commercially representative embedded benchmark suite. IEEE 4th Annual Workshop on Workload Characterization, December 2001.
[18]
{18} W. Peterson and D. Brown. Cyclic codes for error detection. In Proceedings of the IRE, volume 49, pages 228-235, January 1961.

Cited By

View all
  • (2022)Machine-Learning-Based Self-Optimizing Compiler Heuristics✱Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes10.1145/3546918.3546921(98-111)Online publication date: 14-Sep-2022
  • (2021)Iterative Compilation Optimization Based on Metric Learning and Collaborative FilteringACM Transactions on Architecture and Code Optimization10.1145/348025019:1(1-25)Online publication date: 6-Dec-2021
  • (2021)Predictive data locality optimization for higher-order tensor computationsProceedings of the 5th ACM SIGPLAN International Symposium on Machine Programming10.1145/3460945.3464955(43-52)Online publication date: 21-Jun-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '06: Proceedings of the International Symposium on Code Generation and Optimization
March 2006
347 pages
ISBN:0769524990

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 26 March 2006

Check for updates

Qualifiers

  • Article

Conference

CGO06

Acceptance Rates

CGO '06 Paper Acceptance Rate 29 of 80 submissions, 36%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Machine-Learning-Based Self-Optimizing Compiler Heuristics✱Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes10.1145/3546918.3546921(98-111)Online publication date: 14-Sep-2022
  • (2021)Iterative Compilation Optimization Based on Metric Learning and Collaborative FilteringACM Transactions on Architecture and Code Optimization10.1145/348025019:1(1-25)Online publication date: 6-Dec-2021
  • (2021)Predictive data locality optimization for higher-order tensor computationsProceedings of the 5th ACM SIGPLAN International Symposium on Machine Programming10.1145/3460945.3464955(43-52)Online publication date: 21-Jun-2021
  • (2018)A Survey on Compiler Autotuning using Machine LearningACM Computing Surveys10.1145/319797851:5(1-42)Online publication date: 18-Sep-2018
  • (2018)An Evaluation of Vectorization and Cache Reuse Tradeoffs on Modern CPUsProceedings of the 9th International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3178442.3178445(21-30)Online publication date: 24-Feb-2018
  • (2015)Runtime pointer disambiguationACM SIGPLAN Notices10.1145/2858965.281428550:10(589-606)Online publication date: 23-Oct-2015
  • (2015)Runtime pointer disambiguationProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814285(589-606)Online publication date: 23-Oct-2015
  • (2014)Post-compiler software optimization for reducing energyACM SIGARCH Computer Architecture News10.1145/2654822.254198042:1(639-652)Online publication date: 24-Feb-2014
  • (2014)Post-compiler software optimization for reducing energyACM SIGPLAN Notices10.1145/2644865.254198049:4(639-652)Online publication date: 24-Feb-2014
  • (2014)Preliminary results for neuroevolutionary optimization phase order generation for static compilationProceedings of the 11th Workshop on Optimizations for DSP and Embedded Systems10.1145/2568326.2568328(33-40)Online publication date: 15-Feb-2014
  • Show More Cited By

View Options

Get Access

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