Compiling for performance and power efficiency

Ewerton Daniel de Lima, Tiago Cariolano de Souza Xavier, Anderson Faustino da Silva, Linnyer Beatrys Ruiz · 2013

Performance and power efficiency are issues that can be addressed by the compiler, due to the fact that the compiler will generate code that will exercise several parts of the processor. The mainstream compilers apply several optimizations in order to improve the quality of the final code, but not all optimizations will result in a performance gain and/or power efficiency. In fact, in some cases, some optimizations can cause performance loss and increase the power consumption, due to the program characteristics do not fit the characteristics of optimizations. Therefore, it is a challenge, even for the most expert programmer, to know which optimizations and in which order will generate the best target code for a program in terms of multiple goals. The goal of this paper is to describe COSPpp, a case-based reasoning approach that automatically selects a compiler optimization set for a program that outperforms a well-engineered compiler optimization level, in terms of multiple goals. The results obtained by the proposed approach indicates that it achieves improvement in most cases. In fact, COSPpp achieves a balanced performance and power efficiency ratio close to 7%.

Read the paper · More papers on PaperTik