Statistical compiler tuning
M. Haneda
Abstract
Open-access reader
M. Haneda
Abstract
Open-access reader
Modern compilers implement a number of optimization switches and they must be configured carefully in order to obtain the best performance. However, there exist few strategies to configure these compiler switches or flags. This is caused by the fact that the performance of a code is both dependent on the target architecture and the application. Additionally, the effect of the compiler optimizations is highly dependent on other compiler optimizations which are employed, causing the actual effect to be masked and not predictable. In this thesis, we propose to use statistical analysis to determine the effectiveness of the compiler optimizations. This enables us to construct systematic methodologies for determining settings of compiler optimizations automatically. The proposed methodologies are all independent from the implementation of compilers and implementation of applications, therefore, it is easy to apply our methodologies to any combination of compilers and applications. This versatility makes our results unique compared to other approaches. Additionally, with our methodologies, users can choose their optimization objective, for example, execution time or code size, etc. From the results shown in this thesis, we can concluded that the statistical tuning of compiler optimization is both possible and useful.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Modern compilers implement a number of optimization switches and they must be configured carefully in order to obtain the best performance. However, there exist few strategies to configure these compiler switches or flags. This is caused by the fact that the performance of a code is both dependent on the target architecture and the application. Additionally, the effect of the compiler optimizations is highly dependent on other compiler optimizations which are employed, causing the actual effect to be masked and not predictable. In this thesis, we propose to use statistical analysis to determine the effectiveness of the compiler optimizations. This enables us to construct systematic methodologies for determining settings of compiler optimizations automatically. The proposed methodologies are all independent from the implementation of compilers and implementation of applications, therefore, it is easy to apply our methodologies to any combination of compilers and applications. This versatility makes our results unique compared to other approaches. Additionally, with our methodologies, users can choose their optimization objective, for example, execution time or code size, etc. From the results shown in this thesis, we can concluded that the statistical tuning of compiler optimization is both possible and useful.
Key concepts: Compiler, Computer science, Interprocedural optimization, Optimizing compiler, Loop optimization, Compiler correctness, Compiler construction, Dead code elimination