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