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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom