Automatic Configuration of GCC Using Irace
Keywords: Parameter tuning, Irace, Automatic configuration, GCC
Abstract
Automatic algorithm configuration techniques have proved to be successful in finding performance-optimizing parameter settings of many search-based decision and optimization algorithms. A recurrent, important step in software development is the compilation of source code written in some programming language into machine-executable code. The generation of performance-optimized machine code itself is a difficult task that can be parametrized in many different possible ways. While modern compilers usually offer different levels of optimization as possible defaults, they have a larger number of other flags and numerical parameters that impact properties of the generated machine-code. While the generation of performance-optimized machine code has received large attention and is dealt with in the research area of auto-tuning, the usage of standard automatic algorithm configuration software has not been explored, even though, as we show in this article, the performance of the compiled code has significant stochasticity, just as standard optimization algorithms. As a practical case study, we consider the configuration of the well-known GNU compiler collection (GCC) for minimizing the run-time of machine code for various heuristic search methods. Our experimental results show that, depending on the specific code to be optimized, improvements of up to 40% of execution time when compared to the -O2 and -O3 optimization flags is possible.
Más información
Editorial: | Springer, Cham |
Fecha de publicación: | 2018 |
Página de inicio: | 202 |
Página final: | 216 |
URL: | https://doi.org/10.1007/978-3-319-78133-4_15 |
DOI: |
10.1007/978-3-319-78133-4_15 |