Hi, These are my notes for "Machine guided energy efficient compilation" presented at Cauldron.
Machine guided energy efficient compilation. Author: Jeremy Bennett MAGEEC (Machine guided energy efficient compilation), is a plugin for GCC and other compilers, which includes a machine learning system, to tune compiler optimizations to optimize code for energy efficiency for any particular program and architecture. Highlights of the talk: - MAGEEC will initally look to target both GCC and LLVM. - Implemented as a compiler plugin, which performs feature extraction and allows output of machine learning algorithm, to change execution of pass sequence. - Fractional Factorial Design is used to reduce exploration of optimization space. - MAGEEC has their own benchmark suite BEEBS (Bristol/Embecosm Embedded Benchmark Suite) with currently 93 benchmarks. BEEBS 2.0 will have a much wider range of benchmarks and is scheduled to release on 31st August 2014. - The project has produced a low cost energy measurement board. A live demo was presented - run a benchmark on the development board and find the number of mJ consumed. - It would be useful for MAGEEC for GCC plugin API to be more stable. - Turning passes on and off arbitrarily can result in ICE's. The machine learning algorithm should be enhanced to understand the pass dependencies and there possibly needs to be better documentation on pass dependencies in GCC. - Currently, cannot achieve better results than -O2, but this is expected to change over time. Thanks, Prathamesh