In this paper we propose a new technique and a framework to select inlining heuristic constraints - referred to as an inlining vector, for program optimization. The proposed technique uses machine learning to model the correspondence between inlining vectors and performance (completion time). The automatic selection of a machine learning algorithm to build such a model is part of our technique and we present a rigorous selection procedure. Subject to a given architecture, such a model evaluates the benefit of inlining combined with other global optimizations and selects an inlining vector that, in the limits of the model, minimizes the completion time of a program. We conducted our experiments using the GNU GCC compiler and optimized 22 combinations (program, input) from SPEC CINT2006 on the state-of-the-art Intel Xeon Westmere architecture. Compared with optimization level, i.e., -O3, our technique yields performance improvements ranging from 2% to 9%. © 2013 Springer-Verlag.
CITATION STYLE
Cammarota, R., Nicolau, A., Veidenbaum, A. V., Kejariwal, A., Donato, D., & Madhugiri, M. (2013). On the determination of inlining vectors for program optimization. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7791 LNCS, pp. 164–183). https://doi.org/10.1007/978-3-642-37051-9_9
Mendeley helps you to discover research relevant for your work.