PEAK: A fast and effective performance tuning system via compiler optimization orchestration

Zhelong Pan, Purdue University

Abstract

Compile-time optimizations generally improve program performance. Nevertheless, degradations caused by individual compiler optimization techniques are to be expected. Feedback-directed optimization orchestration solutions generate optimized code versions under a series of optimization combinations, evaluate their performance and search for the best version. One challenge to such systems is to tune program performance quickly in an exponential search space. Another challenge is to achieve high program performance, considering that optimizations interact. The PEAK system in this thesis is an automated performance tuning system, which searches for the best compiler optimization combinations for important code sections in a program. It achieves fast tuning speed and high program performance. The following contributions are made in this work: (1) An algorithm called Combined Elimination (CE) is developed to explore the optimization space quickly and effectively. (2) Three fast and accurate rating methods are designed to evaluate the performance of an optimized code section based on a partial execution of the program. (3) An algorithm is developed to identify important code sections as candidates for performance tuning, trading off tuning speed and tuned program performance. CE improves performance by 6.01% over GCC O3 for SPEC CPU2000, while reducing tuning time to 57% of the closest alternative algorithm. Using SUN Forte compilers, CE improves performance by 10.8%, compared to 5.6% improved by manual tuning. Applying the rating methods, PEAK reduces tuning time further from 2.19 hours to 5.85 minutes, while achieving equal or better program performance.

Degree

Ph.D.

Advisors

Eigenmann, Purdue University.

Subject Area

Computer science|Electrical engineering

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS