Iterative Compilation

  • Authors:
  • Peter M. W. Knijnenburg;Toru Kisuki;Michael F. P. O'Boyle

  • Affiliations:
  • -;-;-

  • Venue:
  • Embedded Processor Design Challenges: Systems, Architectures, Modeling, and Simulation - SAMOS
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

In this paper, we give an overview of a novel approach to the problem of how to select compiler optimizations, their parameters, and the order in which to employ them. In particular, we concentrate on the problem of how to select tile sizes and unroll factors simultaneously. We approach this problem in an architecturally adaptive manner by means of iterative compilation, where we generate many versions of a program and decide upon the best by actually executing them and measuring their execution time. We evaluate several iterative strategies. We compare the levels of optimization obtained by iterative compilation to several well-known static techniques and show that we outperform each of them on a range of benchmarks across a variety of architectures. Next we discuss how to incorporate static models as a means to filter out certain combinations of transformations that are unlikely to produce good results. Finally, we show that the approach is applicable to real programs by employing the technique to three SPECfp benchmarks.