Fast and Efficient Searches for Effective Optimization-Phase Sequences

Prasad A. Kulkarni, Stephen R. Hines, David B. Whalley, Jason D. Hiser, Jack W. Davidson, Douglas L. Jones

Research output: Contribution to journalArticlepeer-review

Abstract

It has long been known that a fixed ordering of optimization phases will not produce the best code for every application. One approach for addressing this phase-ordering problem is to use an evolutionary algorithm to search for a specific sequence of phases for each module or function. While such searches have been shown to produce more efficient code, the approach can be extremely slow because the application is compiled and possibly executed to evaluate each sequence's effectiveness. Consequently, evolutionary or iterative compilation schemes have been promoted for compilation systems targeting embedded applications where meeting strict constraints on execution time, code size, and power consumption is paramount and longer compilation times may be tolerated in the final stage of development, when an application is compiled one last time and embedded in a product. Unfortunately, even for small embedded applications, the search process can take many hours or even days making the approach less attractive to developers. In this paper, we describe two complementary general approaches for achieving faster searches for effective optimization sequences when using a genetic algorithm. The first approach reduces the search time by avoiding unnecessary executions of the application when possible. Results indicate search time reductions of 62%, on average, often reducing searches from hours to minutes. The second approach modifies the search so fewer generations are required to achieve the same results. Measurements show this approach decreases the average number of required generations by 59%. These improvements have the potential for making evolutionary compilation a viable choice for tuning embedded applications.

Original languageEnglish (US)
Pages (from-to)165-198
Number of pages34
JournalACM Transactions on Architecture and Code Optimization
Volume2
Issue number2
DOIs
StatePublished - 2005

Keywords

  • Algorithms
  • Experimentation
  • Genetic algorithms
  • Interactive compilation
  • Measurement
  • Performance
  • Phase ordering

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Fast and Efficient Searches for Effective Optimization-Phase Sequences'. Together they form a unique fingerprint.

Cite this