Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Predicting Unroll Factors Using Nearest Neighbors

Predicting Unroll Factors Using Nearest Neighbors

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2004-012.ps

Size

14.46 MB

Format

PostScript

Checksum (MD5)

cf230afd4c419e203dec26958e0faf93

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2004-012.pdf

Size

614.63 KB

Format

Adobe PDF

Checksum (MD5)

696ca8fe4d123e5c101f784c79f9b27b

Author(s)
Stephenson, Mark
•
Amarasinghe, Saman
Date Issued
March 22, 2004
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Abstract
In 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.
Persistent DSpace Link
http://hdl.handle.net/1721.1/30453
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.