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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Babuska, R., van der Veen, P.J., Kaymak, U.: Improved covariances estimation for Gustafson-Kessel clustering. In: IEEE International Conference on Fuzzy Systems (2002)
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)
Bishop, C.: Neural Networks for Pattern Recognition. OUP (2005)
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)
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)
EEMBCv2 benchmark suite, http://www.eembc.org/
Gustafson, D.E., Kessel, W.C.: Fuzzy clustering with fuzzy covariance matrix. In: Proceedings of the IEEE CDC, San Diego, pp. 761–766 (1979)
Hoste, K., Eeckhout, L.: Comparing Benchmarks Using Key Microarchitecture-Independent Characteristics. In: IISWC, pp. 83–92 (2006)
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)
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)
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)
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)
Stephenson, M., Amarasinghe, S., Martin, M., O’Reilly, U.-M.: Meta Optimization: Improving Compiler Heuristics with Machine Learning. In: PLDI 2003 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)