ACME: Adaptive Compilation Made Efficient/Easy

dc.contributor.authorCooper, Keith D.
dc.contributor.authorGrosul, Alexander
dc.contributor.authorHarvey, Timothy J.
dc.contributor.authorReeves, Steven W.
dc.contributor.authorSubramanian, Devika
dc.contributor.authorTorczon, Linda
dc.date.accessioned2017-08-02T22:03:02Z
dc.date.available2017-08-02T22:03:02Z
dc.date.issued2005-06-17
dc.date.noteJune 17, 2005
dc.description.abstractResearch over the past five years has shown significant performance improvements are possible using adaptive compilation. An adaptive compiler uses a compile-execute-analyze feedback loop to guide a series of compilations towards some performance goal, such as minimizing execution time. Despite its ability to improve performance, adaptive compilation has not seen widespread use because of two obstacles: the complexity inherent in a feedback-driven adaptive system makes it difficult to build and hard to use, and the large amounts of time that the system needs to perform the many compilations and executions prohibits most users from adopting these techniques. We have developed a technique called {\em virtual execution} to decrease the time requirements for adaptive compilation. Virtual execution runs the program a single time and preserves information that allows us to accurately predict performance with different optimization sequences. This technology significantly reduces the time required by our adaptive compiler. In conjunction with this performance boost, we have developed a graphical-user interface (GUI) that provides a controlled view of the compilation process. It limits the amount of information that the user must provide to get started, by providing appropriate defaults. At the same time, it lets the user exert fine-grained control over the parameters that control the system. In particular, the user has direct and obvious control over the maximum amount of time the compiler can spend, as well as the ability to choose the number of routines to be examined. (The tool uses profiling to identify the most-executed procedures.) The GUI provides an output screen so that the user can monitor the progress of the compilation.
dc.format.extent8 pp
dc.identifier.citationCooper, Keith D., Grosul, Alexander, Harvey, Timothy J., et al.. "ACME: Adaptive Compilation Made Efficient/Easy." (2005) https://hdl.handle.net/1911/96336.
dc.identifier.digitalTR05-446
dc.identifier.urihttps://hdl.handle.net/1911/96336
dc.language.isoeng
dc.rightsYou are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
dc.titleACME: Adaptive Compilation Made Efficient/Easy
dc.typeTechnical report
dc.type.dcmiText
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR05-446.pdf
Size:
1.67 MB
Format:
Adobe Portable Document Format