Investigating Adaptive Compilation Using the Mipspro Compiler

Despite the astonishing increases in processor performance over the last 40 years, delivered application performance remains a critical issue for many important problems. Compilers play a critical role in determining that performance. A modern optimizing compiler contains many transformations that a...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The international journal of high performance computing applications 2005-12, Vol.19 (4), p.423-431
Hauptverfasser: Cooper, Keith D., Waterman, Todd
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Despite the astonishing increases in processor performance over the last 40 years, delivered application performance remains a critical issue for many important problems. Compilers play a critical role in determining that performance. A modern optimizing compiler contains many transformations that attempt to increase application performance. However, the best combination of transformations is an application-specific issue. Recent systems such as FFTW and ATLAS have demonstrated how code that adapts its behavior to target machine parameters can deliver better performance than code that adopts a single strategy for all machines. Unfortunately, developing these systems required significant amounts of time by experts. Adaptive compilation (systems where the compiler chooses an appropriate set of optimizations and parameters for each application) offer the promise of custom performance similar to FFTW or ATLAS without requiring the time investment of experts. In this paper we detail an experiment with adaptive, feedback-driven blocksize choice. The experiment demonstrates two critical issues. First, an adaptive blocking strategy can automatically produce performance similar to that achieved by ATLAS. This result suggests that we can make customized ATLAS-like performance available, automatically, across a wider range of programs. Secondly, the command-line parametrization of existing commercial and research compilers is inadequate to express the complex strategies that an adaptive system will need. For example, the blocksize parameters to the MIPS compiler are applied uniformly to all loops; for more complex applications, the compiler will need to specify blocksizes on a much finer granularity.
ISSN:1094-3420
1741-2846
DOI:10.1177/1094342005056142