Robust regression and outlier detection
Robust regression and outlier detection
A study of a C function inliner
Software—Practice & Experience
Compiling C for vectorization, parallelization, and inline expansion
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
An experiment with inline substitution
Software—Practice & Experience
Unexpected side effects of inline substitution: a case study
ACM Letters on Programming Languages and Systems (LOPLAS)
C4.5: programs for machine learning
C4.5: programs for machine learning
Towards better inlining decisions using inlining trials
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
An analysis of inline substitution for a structured programming language
Communications of the ACM
Programming Perl
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
A Machine Learning Approach to Automatic Production of Compiler Heuristics
AIMSA '02 Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications
Adaptive online context-sensitive inlining
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Meta optimization: improving compiler heuristics with machine learning
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Predicting the effects of optimization on a procedure body
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
A tutorial on support vector regression
Statistics and Computing
Predicting Unroll Factors Using Supervised Classification
Proceedings of the international symposium on Code generation and optimization
Rating Compiler Optimizations for Automatic Performance Tuning
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Optimizing general purpose compiler optimization
Proceedings of the 2nd conference on Computing frontiers
Automatic Tuning of Inlining Heuristics
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Fast and Effective Orchestration of Compiler Optimizations for Automatic Performance Tuning
Proceedings of the International Symposium on Code Generation and Optimization
SPEC CPU2006 benchmark descriptions
ACM SIGARCH Computer Architecture News
Subroutine profiling results for the CPU2006 benchmarks
ACM SIGARCH Computer Architecture News
Rapidly Selecting Good Compiler Optimizations using Performance Counters
Proceedings of the International Symposium on Code Generation and Optimization
Fast learning in networks of locally-tuned processing units
Neural Computation
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Open-source machine learning: R meets Weka
Computational Statistics - Proceedings of DSC 2007
An adaptive strategy for inline substitution
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Collective optimization: A practical collaborative approach
ACM Transactions on Architecture and Code Optimization (TACO)
On the impact of data input sets on statistical compiler tuning
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Enhancing the Role of Inlining in Effective Interprocedural Parallelization
ICPP '11 Proceedings of the 2011 International Conference on Parallel Processing
Selective search of inlining vectors for program optimization
Proceedings of the 9th conference on Computing Frontiers
Hi-index | 0.00 |
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%.