skip to main content
10.1145/2872421.2872424acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesparma-ditamConference Proceedingsconference-collections
research-article

Predictive modeling methodology for compiler phase-ordering

Published: 18 January 2016 Publication History

Abstract

Today's compilers offer a huge number of transformation options to choose among and this choice can significantly impact on the performance of the code being optimized. Not only the selection of compiler options represents a hard problem to be solved, but also the ordering of the phases is adding further complexity, making it a long standing problem in compilation research. This paper presents an innovative approach for tackling the compiler phase-ordering problem by using predictive modeling. The proposed methodology enables i) to efficiently explore compiler exploration space including optimization permutations and repetitions and ii) to extract the application dynamic features to predict the next-best optimization to be applied to maximize the performance given the current status. Experimental results are done by assessing the proposed methodology with utilizing two different search heuristics on the compiler optimization space and it demonstrates the effectiveness of the methodology on the selected set of applications. Using the proposed methodology on average we observed up to 4% execution speedup with respect to LLVM standard baseline.

References

[1]
F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M. F. O'Boyle, J. Thomson, M. Toussaint, and C. K. Williams. Using machine learning to focus iterative optimization. In Proceedings of the International Symposium on Code Generation and Optimization, pages 295--305. IEEE Computer Society, 2006.
[2]
A. H. Ashouri, G. Mariani, G. Palermo, and C. Silvano. A bayesian network approach for compiler auto-tuning for embedded processors. In Embedded Systems for Real-time Multimedia (ESTIMedia), 2014 IEEE 12th Symposium on, pages 90--97. IEEE, 2014.
[3]
A. H. Ashouri, V. Zaccaria, S. Xydis, G. Palermo, and C. Silvano. A framework for compiler level statistical analysis over customized vliw architecture. In Very Large Scale Integration (VLSI-SoC), 2013 IFIP/IEEE 21st International Conference on, pages 124--129. IEEE, 2013.
[4]
M.-W. Benabderrahmane, L.-N. Pouchet, A. Cohen, and C. Bastoul. The polyhedral model is more widely applicable than you think. In Compiler Construction, pages 283--303. Springer, 2010.
[5]
U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan. Pluto: A practical and fully automatic polyhedral program optimization system. In Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI 08), Tucson, AZ (June 2008). Citeseer, 2008.
[6]
J. Cavazos, C. Dubach, F. Agakov, E. Bonilla, M. F. O'Boyle, G. Fursin, and O. Temam. Automatic performance model construction for the fast software exploration of new hardware designs. In Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, pages 24--34. ACM, 2006.
[7]
J. Cavazos, G. Fursin, F. Agakov, E. Bonilla, M. F. P. O'Boyle, and O. Temam. Rapidly selecting good compiler optimizations using performance counters. In Proceedings of the International Symposium on Code Generation and Optimization, CGO '07, pages 185--197, Washington, DC, USA, 2007. IEEE Computer Society.
[8]
Y. Chen, S. Fang, Y. Huang, L. Eeckhout, G. Fursin, O. Temam, and C. Wu. Deconstructing iterative optimization. ACM Transactions on Architecture and Code Optimization (TACO), 9(3):21, 2012.
[9]
C. Dubach, J. Cavazos, B. Franke, G. Fursin, M. F. O'Boyle, and O. Temam. Fast compiler optimisation evaluation using code-feature based performance prediction. In Proceedings of the 4th international conference on Computing frontiers, pages 131--142. ACM, 2007.
[10]
G. Fursin. Collective benchmark (cbench), a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking and research on program and architecture optimization, 2010.
[11]
M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten. The weka data mining software: an update. ACM SIGKDD explorations newsletter, 11(1):10--18, 2009.
[12]
M. Haneda, P. M. Knijnenburg, and H. A. Wijshoff. Code size reduction by compiler tuning. In Embedded Computer Systems: Architectures, Modeling, and Simulation, pages 186--195. Springer, 2006.
[13]
T. Hoefler and R. Belli. Scientific benchmarking of parallel computing systems: twelve ways to tell the masses when reporting performance results. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, page 73. ACM, 2015.
[14]
K. Hoste and L. Eeckhout. Microarchitecture-independent workload characterization. IEEE Micro, 27(3):63--72, 2007.
[15]
K. J. Johnson and R. E. Synovec. Pattern recognition of jet fuels: comprehensive gc x gc with anova-based feature selection and principal component analysis. Chemometrics and Intelligent Laboratory Systems, 60(1):225--237, 2002.
[16]
R. M. Karp, R. E. Miller, and S. Winograd. The organization of computations for uniform recurrence equations. Journal of the ACM (JACM), 14(3):563--590, 1967.
[17]
R. E. Korf. Depth-first iterative-deepening: An optimal admissible tree search. Artificial intelligence, 27(1):97--109, 1985.
[18]
P. A. Kulkarni, D. B. Whalley, G. S. Tyson, and J. W. Davidson. Practical exhaustive optimization phase order exploration and evaluation. ACM Transactions on Architecture and Code Optimization (TACO), 6(1):1, 2009.
[19]
S. Kulkarni and J. Cavazos. Mitigating the compiler optimization phase-ordering problem using machine learning. ACM SIGPLAN Notices, 47(10):147--162, 2012.
[20]
V. Loechner. Polylib: A library for manipulating parameterized polyhedra, 1999.
[21]
C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, PLDI '05, pages 190--200, New York, NY, USA, 2005. ACM.
[22]
A. Monsifrot, F. Bodin, and R. Quiniou. A machine learning approach to automatic production of compiler heuristics. In Artificial Intelligence: Methodology, Systems, and Applications, pages 41--50. Springer, 2002.
[23]
R. Nobre, L. G. Martins, and J. M. Cardoso. Use of previously acquired positioning of optimizations for phase ordering exploration. In Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems, pages 58--67. ACM, 2015.
[24]
E. Park, J. Cavazos, and M. A. Alvarez. Using graph-based program characterization for predictive modeling. In Proceedings of the Tenth International Symposium on Code Generation and Optimization, pages 196--206. ACM, 2012.
[25]
E. Park, J. Cavazos, L.-N. Pouchet, C. Bastoul, A. Cohen, and P. Sadayappan. Predictive modeling in a polyhedral optimization space. International Journal of Parallel Programming, 41(5):704--750, 2013.
[26]
E. Park, S. Kulkarni, and J. Cavazos. An evaluation of different modeling techniques for iterative compilation. In Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems, pages 65--74. ACM, 2011.
[27]
M. Stephenson, S. Amarasinghe, M. Martin, and U.-M. O'Reilly. Meta optimization: improving compiler heuristics with machine learning. In ACM SIGPLAN Notices, volume 38, pages 77--90. ACM, 2003.
[28]
R. Vuduc, J. W. Demmel, and J. A. Bilmes. Statistical models for empirical search-based performance tuning. International Journal of High Performance Computing Applications, 18(1):65--94, 2004.

Cited By

View all
  • (2023)The algorithm and implementation of an extension to LLVM for solving the blocking between instruction sink and division-modulo combineConnection Science10.1080/09540091.2023.227321935:1Online publication date: 30-Oct-2023
  • (2023)A Toolbox for Designing 3D‐Printing‐Ready Pneumatic Circuits for Controlling Soft RobotsAdvanced Intelligent Systems10.1002/aisy.2023003945:12Online publication date: 18-Oct-2023
  • (2022)Geração Automática de Benchmarks para Compilação PreditivaProceedings of the XXVI Brazilian Symposium on Programming Languages10.1145/3561320.3561323(59-67)Online publication date: 6-Oct-2022
  • Show More Cited By
  1. Predictive modeling methodology for compiler phase-ordering

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    PARMA-DITAM '16: Proceedings of the 7th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures and the 5th Workshop on Design Tools and Architectures For Multicore Embedded Computing Platforms
    January 2016
    43 pages
    ISBN:9781450340526
    DOI:10.1145/2872421
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 January 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. autotuning
    2. compilers
    3. machine learning
    4. phase-ordering

    Qualifiers

    • Research-article

    Funding Sources

    • European Union's Horizon 2020 research and innovation program

    Conference

    PARMA-DITAM '16

    Acceptance Rates

    Overall Acceptance Rate 11 of 24 submissions, 46%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)28
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 23 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)The algorithm and implementation of an extension to LLVM for solving the blocking between instruction sink and division-modulo combineConnection Science10.1080/09540091.2023.227321935:1Online publication date: 30-Oct-2023
    • (2023)A Toolbox for Designing 3D‐Printing‐Ready Pneumatic Circuits for Controlling Soft RobotsAdvanced Intelligent Systems10.1002/aisy.2023003945:12Online publication date: 18-Oct-2023
    • (2022)Geração Automática de Benchmarks para Compilação PreditivaProceedings of the XXVI Brazilian Symposium on Programming Languages10.1145/3561320.3561323(59-67)Online publication date: 6-Oct-2022
    • (2022)SMARTEST: A Surrogate-Assisted Memetic Algorithm for Code Size ReductionIEEE Transactions on Reliability10.1109/TR.2021.307396071:1(190-203)Online publication date: Mar-2022
    • (2022)Reduced O3 subsequence labelling: a stepping stone towards optimisation sequence predictionConnection Science10.1080/09540091.2022.204476134:1(2860-2877)Online publication date: 1-Mar-2022
    • (2021)MLComp: A Methodology for Machine Learning-based Performance Estimation and Adaptive Selection of Pareto-Optimal Compiler Optimization Sequences2021 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE51398.2021.9474158(108-113)Online publication date: 1-Feb-2021
    • (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
    • (2020)Smart selection of optimizations in dynamic compilersConcurrency and Computation: Practice and Experience10.1002/cpe.608933:18Online publication date: 26-Nov-2020
    • (2019)A methodology correlating code optimizations with data memory accesses, execution time and energy consumptionThe Journal of Supercomputing10.1007/s11227-019-02880-zOnline publication date: 13-May-2019
    • (2018)Speeding up Iterative Polyhedral Schedule Optimization with Surrogate Performance ModelsACM Transactions on Architecture and Code Optimization10.1145/329177315:4(1-27)Online publication date: 19-Dec-2018
    • 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

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media