A comparison of empirical and model-driven optimization

Kamen Yotov, Xiaoming Li, Gang Ren, Michael Cibulskis, Gerald DeJong, Maria Garzaran, David Padua, Keshav Pingali, Paul Stodghill, Peng Wu

Research output: Contribution to conferencePaperpeer-review

Abstract

Empirical program optimizers estimate the values of key optimization parameters by generating different program versions and running them on the actual hardware to determine which values give the best performance. In contrast, conventional compilers use models of programs and machines to choose these parameters. It is widely believed that model-driven optimization does not compete with empirical optimization, but few quantitative comparisons have been done to date. To make such a comparison, we replaced the empirical optimization engine in ATLAS (a system for generating a dense numerical linear algebra library called the BLAS) with a model-driven optimization engine that used detailed models to estimate values for optimization parameters, and then measured the relative performance of the two systems on three different hardware platforms. Our experiments show that model-driven optimization can be surprisingly effective, and can generate code whose performance is comparable to that of code generated by empirical optimizers for the BLAS.

Original languageEnglish (US)
Pages63-76
Number of pages14
StatePublished - 2003
EventACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: Jun 9 2003Jun 11 2003

Conference

ConferenceACM SIGPLAN Conference on Programming Language Design and Implementation
Country/TerritoryUnited States
CitySan Diego, CA
Period6/9/036/11/03

Keywords

  • BLAS
  • Blocking
  • Code generation
  • Compilers
  • Empirical optimization
  • Memory hierarchy
  • Model-driven optimization
  • Program transformation
  • Tiling
  • Unrolling

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'A comparison of empirical and model-driven optimization'. Together they form a unique fingerprint.

Cite this