Compilers can already optimize for execution time and code size. But in a world of diminishing battery life, ever larger data centers and nanoscale energy scavenging devices, we need the compiler to optimize for energy efficiency.
This talk will show how existing performance optimizations in GCC and LLVM affect a compiled application's energy consumption and novel ways that these optimizations can be chosen and improved. Using genetic algorithms to select which optimizations are applied, the energy consumption can be significantly improved beyond what is achieved at the current maximum optimization level (up to 40%). However, genetic algorithms are very time consuming. This is being addressed in the MAchine Guided Energy Efficient Compilation (MAGEEC) project, which is using machine learning techniques to predict the best optimizations for energy efficiency.
As well as carefully choosing from our existing optimizations, new optimizations specifically for energy can be created, reducing application energy consumption with and without trade-offs in execution time. This presentation will introduce a few ideas on how we can optimize for energy.
While large savings can be made at the compiler level, ultimately the programmer has control over what is executed on the hardware. In the final part of this talk, the ENergy TRAnsparency (ENTRA) project is introduced, with its aim of allowing the programmer to assess an application's energy consumption statically, and make trade-offs without having to measure and profile the energy consumption.
James Pallister is a graduate of the University of Bristol, where he achieved double first class honors in computer science and electronics. He is presently studying for a PhD in energy aware compilers as well as acting as a technical advisor to Embecosm. | | As part of his ongoing research, James is working on developing new compiler optimizations to increase energy efficiency, as well as studying how existing compiler optimizations can be... Read More →
Friday March 28, 2014 10:00am - 10:50am
Attendance numbers do not account for private attendees. Get there early!