Adaptive ordering of code transformations in an optimizing compiler

dc.contributor.advisorCooper, Keith D.en_US
dc.creatorGrosul, Alexanderen_US
dc.date.accessioned2009-06-04T08:42:44Zen_US
dc.date.available2009-06-04T08:42:44Zen_US
dc.date.issued2005en_US
dc.description.abstractIt has long been known that the quality of the code produced by an optimizing compiler is dependent upon the ordering of transformations applied to the code. In this dissertation, we show that the best orderings vary in unpredictable ways according to the properties of the input code and performance objectives, making adaptation a necessity to obtain the best results. We further demonstrate the most practical techniques to search the spaces of transformation orderings. Our analysis of six exhaustively enumerated subspaces of limited size determines the choice and parameters of search algorithms described and implemented in this work: random sampling, greedy methods, variations of the stochastic hillclimber, and genetic algorithms. We then apply the search algorithms to the full spaces of all available transformations, which are too big to enumerate. We evaluate the performance and cost of running these algorithms and discuss the tradeoffs between the quality of discovered orderings and an effort to find them. Stochastic hillclimbers discover effective orderings within approximately 500 evaluations. Compared to a fixed ordering of transformations, they result in 5%--40% improvements for a variety of input programs and performance objectives. To reduce the computational overhead in finding these orderings, we introduce and analyze a novel approach to precise static estimation of runtime frequencies of basic blocks. Termed "Estimated Virtual Execution", this approach reduces the search time by 40%--60%.en_US
dc.format.extent268 p.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.callnoTHESIS COMP.SCI. 2005 GROSULen_US
dc.identifier.citationGrosul, Alexander. "Adaptive ordering of code transformations in an optimizing compiler." (2005) Diss., Rice University. <a href="https://hdl.handle.net/1911/18844">https://hdl.handle.net/1911/18844</a>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/18844en_US
dc.language.isoengen_US
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.en_US
dc.subjectComputer scienceen_US
dc.titleAdaptive ordering of code transformations in an optimizing compileren_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophyen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3168790.PDF
Size:
62.44 MB
Format:
Adobe Portable Document Format