Skip to main content

Reducing Training Time in a One-Shot Machine Learning-Based Compiler

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5898))

Abstract

Iterative compilation of applications has proved a popular and successful approach to achieving high performance. This however, is at the cost of many runs of the application. Machine learning based approaches overcome this at the expense of a large off-line training cost. This paper presents a new approach to dramatically reduce the training time of a machine learning based compiler. This is achieved by focusing on the programs which best characterize the optimization space. By using unsupervised clustering in the program feature space we are able to dramatically reduce the amount of time required to train a compiler. Furthermore, we are able to learn a model which dispenses with iterative search completely allowing integration within the normal program development cycle. We evaluated our clustering approach on the EEMBCv2 benchmark suite and show that we can reduce the number of training runs by more than a factor of 7. This translates into an average 1.14 speedup across the benchmark suite compared to the default highest optimization level.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agakov, F., Bonilla, E., Cavazos, J., Franke, B., Fursin, G., O’Boyle, M., Thomson, J., Toussaint, M., Williams, C.: In: Proceedings of the 4th Annual International Symposium on Code Generation and Optimization (CGO), New York (March 2006)

    Google Scholar 

  2. Babuska, R., van der Veen, P.J., Kaymak, U.: Improved covariances estimation for Gustafson-Kessel clustering. In: IEEE International Conference on Fuzzy Systems (2002)

    Google Scholar 

  3. Berube, P., Amaral, J.N., Ho, R., Silvera, R.: Workload Reduction for Multi-input Profile Directed Optimization. In: Proceedings of the 7th Annual International Symposium on Code Generation and Optimization, CGO (2009)

    Google Scholar 

  4. Bishop, C.: Neural Networks for Pattern Recognition. OUP (2005)

    Google Scholar 

  5. Cavazos, J., Fursin, G., Agakov, F., Bonilla, E., O’Boyle, M., Temam, O.: Rapidly Selecting Good Compiler Optimizations using Performance Counters. In: CGO (March 2007)

    Google Scholar 

  6. Cooper, K.D., Grosul, A., Harvey, T.J., Reeves, S., Subramanian, D., Torzon, L., Waterman, T.: Exploring the Structure of the Space of Compilation Sequences Using Randomized Search Algorithms. In: Proceedings of the 2004 LACSI Symposium (2004)

    Google Scholar 

  7. EEMBCv2 benchmark suite, http://www.eembc.org/

  8. Gustafson, D.E., Kessel, W.C.: Fuzzy clustering with fuzzy covariance matrix. In: Proceedings of the IEEE CDC, San Diego, pp. 761–766 (1979)

    Google Scholar 

  9. Hoste, K., Eeckhout, L.: Comparing Benchmarks Using Key Microarchitecture-Independent Characteristics. In: IISWC, pp. 83–92 (2006)

    Google Scholar 

  10. Kulkarni, P., Zhao, W., Moon, H., Cho, K., Whalley, D., Davidson, J., Bailey, M., Park, Y., Gallivan, K.: Finding effective optimization phase sequences. In: ACM LCTES (2003)

    Google Scholar 

  11. Kulkarni, P., Whalley, D., Tyson, G., Davidson, J.: Evaluating Heuristic Optimization Phase Order Search Algorithms. In: IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2007), March 2007, pp. 157–169 (2007)

    Google Scholar 

  12. Fursin, G., Miranda, C., Temam, O., Namolaru, M., Yom-Tov, E., Zaks, A., Mendelson, B., Bodin, F., Bonilla, E., Thomson, J., Leather, H., Williams, C., O’Boyle, M.: MILEPOST GCC: machine learning based research compiler. In: Proceedings of the GCC Developers’ Summit 2008 (2008)

    Google Scholar 

  13. Ray, S., Turi, R.: Determination of number of clusters in k-means clustering and application in colour image segmentation. In: Proceedings of the 4th International Conference on Advances in Pattern Recognition and Digital Techniques, pp. 137–143 (1999)

    Google Scholar 

  14. Stephenson, M., Amarasinghe, S., Martin, M., O’Reilly, U.-M.: Meta Optimization: Improving Compiler Heuristics with Machine Learning. In: PLDI 2003 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Thomson, J., O’Boyle, M., Fursin, G., Franke, B. (2010). Reducing Training Time in a One-Shot Machine Learning-Based Compiler. In: Gao, G.R., Pollock, L.L., Cavazos, J., Li, X. (eds) Languages and Compilers for Parallel Computing. LCPC 2009. Lecture Notes in Computer Science, vol 5898. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13374-9_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13374-9_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13373-2

  • Online ISBN: 978-3-642-13374-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics