DocumentCode
2704813
Title
Predicting unroll factors using supervised classification
Author
Stephenson, Mark ; Amarasinghe, Saman
Author_Institution
Comput. Sci. & Artificial Intelligence Lab., MIT, Cambridge, MA, USA
fYear
2005
fDate
20-23 March 2005
Firstpage
123
Lastpage
134
Abstract
Compilers base many critical decisions on abstracted architectural models. While recent research has shown that modeling is effective for some compiler problems, building accurate models requires a great deal of human time and effort. This paper describes how machine learning techniques can be leveraged to help compiler writers model complex systems. Because learning techniques can effectively make sense of high dimensional spaces, they can be a valuable tool for clarifying and discerning complex decision boundaries. In this work we focus on loop unrolling, a well-known optimization for exposing instruction level parallelism. Using the Open Research Compiler as a testbed, we demonstrate how one can use supervised learning techniques to determine the appropriateness of loop unrolling. We use more than 2,500 loops - drawn from 72 benchmarks - to train two different learning algorithms to predict unroll factors (i.e., the amount by which to unroll a loop) for any novel loop. The technique correctly predicts the unroll factor for 65% of the loops in our dataset, which leads to a 5% overall improvement for the SPEC 2000 benchmark suite (9% for the SPEC 2000 floating point benchmarks).
Keywords
heuristic programming; learning (artificial intelligence); optimising compilers; parallelising compilers; program control structures; Open Research Compiler; SPEC 2000 benchmark suite; branch prediction; heuristic programming; instruction level parallelism; loop unrolling; machine learning; optimising compilers; program compilers; supervised learning; Artificial intelligence; Computer science; History; Humans; Laboratories; Machine learning; Optimizing compilers; Pipeline processing; Support vector machine classification; Support vector machines;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2005. CGO 2005. International Symposium on
Print_ISBN
0-7695-2298-X
Type
conf
DOI
10.1109/CGO.2005.29
Filename
1402082
Link To Document