Show simple item record

dc.contributor.authorStephenson, Mark
dc.contributor.authorAmarasinghe, Saman
dc.date.accessioned2005-12-22T01:20:19Z
dc.date.available2005-12-22T01:20:19Z
dc.date.issued2004-03-22
dc.identifier.otherMIT-CSAIL-TR-2004-012
dc.identifier.otherMIT-LCS-TR-938
dc.identifier.urihttp://hdl.handle.net/1721.1/30453
dc.description.abstractIn order to deliver the promise of Moore’s Law to the enduser, compilers must make decisions that are intimately tiedto a specific target architecture. As engineers add architecturalfeatures to increase performance, systems becomeharder to model, and thus, it becomes harder for a compilerto make effective decisions.Machine-learning techniques may be able to help compilerwriters model modern architectures. Because learning techniquescan effectively make sense of high dimensional spaces,they can be a valuable tool for clarifying and discerningcomplex decision boundaries. In our work we focus on loopunrolling, a well-known optimization for exposing instructionlevel parallelism. Using the Open Research Compileras a testbed, we demonstrate how one can use supervisedlearning techniques to model the appropriateness of loopunrolling.We use more than 1,100 loops — drawn from 46 benchmarks— to train a simple learning algorithm to recognizewhen loop unrolling is advantageous. The resulting classifiercan predict with 88% accuracy whether a novel loop(i.e., one that was not in the training set) benefits fromloop unrolling. Furthermore, we can predict the optimal ornearly optimal unroll factor 74% of the time. We evaluatethe ramifications of these prediction accuracies using theOpen Research Compiler (ORC) and the Itanium r 2 architecture.The learned classifier yields a 6% speedup (overORC’s unrolling heuristic) for SPEC benchmarks, and a 7%speedup on the remainder of our benchmarks. Because thelearning techniques we employ run very quickly, we wereable to exhaustively determine the four most salient loopcharacteristics for determining when unrolling is beneficial.
dc.format.extent9 p.
dc.format.extent15158625 bytes
dc.format.extent629381 bytes
dc.format.mimetypeapplication/postscript
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.relation.ispartofseriesMassachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
dc.titlePredicting Unroll Factors Using Nearest Neighbors


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record