z-logo
open-access-imgOpen Access
A Practical Method for Quickly Evaluating Program Optimizations
Author(s) -
Grigori Fursin,
Albert Cohen,
Michael O’Boyle,
Olivier Temam
Publication year - 2005
Publication title -
lecture notes in computer science
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.249
H-Index - 400
eISSN - 1611-3349
pISSN - 0302-9743
ISBN - 3-540-30317-0
DOI - 10.1007/11587514_4
Subject(s) - computer science , compiler , overhead (engineering) , optimizing compiler , pruning , usable , code (set theory) , implementation , dead code elimination , program optimization , computer engineering , stencil , parallel computing , factor (programming language) , software versioning , range (aeronautics) , algorithm , software , key (lock) , code generation , computational science , programming language , operating system , set (abstract data type) , redundant code , materials science , world wide web , agronomy , composite material , biology
This article aims at making iterative optimization practical and usable by speeding up the evaluation of a large range of optimizations. Instead of using a full run to evaluate a single program optimization, we take advantage of periods of stable performance, called phases. For that purpose, we propose a low-overhead phase detection scheme geared toward fast optimization space pruning, using code instrumentation and versioning implemented in a production compiler. Our approach is driven by simplicity and practicality. We show that a simple phase detection scheme can be sufficient for optimization space pruning. We also show it is possible to search for complex optimizations at run-time without resorting to sophisticated dynamic compilation frameworks. Beyond iterative optimization, our approach also enables one to quickly design self-tuned applications. Considering 5 representative SpecFP2000 benchmarks, our approach speeds up iterative search for the best program optimizations by a factor of 32 to 962. Phase prediction is 99.4% accurate on average, with an overhead of only 2.6%. The resulting self-tuned implementations bring an average speed-up of 1.4.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom