2014 · 80 citations · 63 references
EngineeringComputer EngineeringComputer ScienceCompilersDesign OptimizationLow-power DesignCode GenerationGenetic AlgorithmsPerformance OptimizationPower OptimizationPower-aware DesignCompiler-driven Power ReductionGenetic Algorithm OptimizationMicroarchitectural OptimizationMutational EffectsMutational RobustnessPower EfficiencyProfile-guided OptimizationRobustness
Modern compilers typically optimize for executable size and speed, rarely exploring non-functional properties such as power efficiency. These properties are often hardware-specific, time-intensive to optimize, and may not be amenable to standard dataflow optimizations. We present a general post-compilation approach called Genetic Optimization Algorithm (GOA), which targets measurable non-functional aspects of software execution in programs that compile to x86 assembly. GOA combines insights from profile-guided optimization, superoptimization, evolutionary computation and mutational robustness. GOA searches for program variants that retain required functional behavior while improving non-functional behavior, using characteristic workloads and predictive modeling to guide the search. The resulting optimizations are validated using physical performance measurements and a larger held-out test suite. Our experimental results on PARSEC benchmark programs show average energy reductions of 20%, both for a large AMD system and a small Intel system, while maintaining program functionality on target workloads.
63
Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh et al. · 2008 · 3.4K citations
David Brooks, Vivek Tiwari, Margaret Martonosi · 2000 · 2.6K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · ACM SIGPLAN Notices · 2005 · 2.1K citations
FFTW: an adaptive software architecture for the FFT
Matteo Frigo, Steven G. Johnson · 2002 · 1.8K citations
Koushik Sen, Darko Marinov, Gul Agha · 2005 · 1.7K citations