- Abstract:
-
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.
- Links To Paper
- 1st Link
- Bibtex format
- @InProceedings{EDI-INF-RR-0486,
- author = {
Grigori Fursin
and Albert Cohen
and Michael O'Boyle
and Oliver Temam
},
- title = {A Practical Method For Quickly Evaluating Program Optimizations},
- book title = {Procs of the 1st International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2005), LNCS},
- year = 2005,
- month = {Nov},
- volume = {3793},
- pages = {29-46},
- url = {http://homepages.inf.ed.ac.uk/gfursin/papers/fcop05.pdf},
- }
|