Not Logged In

Workload Reduction for Multi-Input Profile-Directed Optimization

Full Text: cgo-2009.pdf PDF

Profile-directed optimization is an effective technique to improve program performance, but it may result in program performance and compiler behavior that is sensitive to both the selection of inputs used for training and the actual input in each run of the program. Cross-validation over a workload of inputs can address the input-sensitivity problem, but introduces the need to select a representative workload of minimal size from the population of available inputs. We present a compiler-centric clustering methodology to group similar inputs so that redundant inputs can be eliminated from the training workload. Input similarity is determined based on the compile-time code transformations made by the compiler after training separately on each input. Differences between inputs are weighted by a performance metric based on cross-validation in order to account for code transformation differences that have little impact on performance. We introduce the CrossError metric that allows the exploration of correlations between transformations based on the results of clustering. The methodology is applied to several SPEC~cite{SPEC} benchmark programs, and illustrated using selected case studies.

Citation

P. Berube, J. Amaral. "Workload Reduction for Multi-Input Profile-Directed Optimization". International Symposium on Code Generation and Optimization, February 2009.

Keywords: Feedback-Directed Optimization, Compiler Development, Profiling
Category: In Conference

BibTeX

@incollection{Berube+Amaral:CGO09,
  author = {Paul Berube and Jose Nelson Amaral},
  title = {Workload Reduction for Multi-Input Profile-Directed Optimization},
  booktitle = {International Symposium on Code Generation and Optimization},
  year = 2009,
}

Last Updated: February 03, 2009
Submitted by Jose Nelson Amaral

University of Alberta Logo AICML Logo