Skip to content

Summer Research Outcome

As my previous blog post  concluded we had decided upon a selection of algorithms to try out. These were:

  1. Trees
  2. Lazy (kNN)
  3. Neural Networks
  4. Voting

Read more

Explicit Ordering of Compiler Optimisations

Choosing the right compiler options can drastically reduce the energy consumption of a program. Finding the right way to schedule those options can give equally significant gains. Modern compilers use pass managers to schedule the order in which optimisations are applied, but these aim to reduce some combination of compile time and execution time rather than energy efficiency. I am interested in the task of learning how to predict which sequences of compiler optimisations will minimise energy consumption of a given executable on a given machine. Before this problem can be tackled it is first necessary to obtain data on how performance metrics (such as execution time and energy consumption) are affected by the ordering of optimisations for various benchmarks on various architectures. Part of the Mageec project involves the collection of this data and its storage in a relational database. In this article, I examine a number of relational representations that could be used for this purpose and explain the rationale behind the most promising approach.

Read more

FOSDEM 2014 Energy-efficient Computing Developer Room CFP


The MAGEEC project is delighted to announce that it will be hosting an energy-efficient computing developer room at FOSDEM 2014. The focus for this will be wider than the MAGEEC project, but will remain at the level of energy-aware computing across the system stack. Read more

Machine Learning for Energy Optimisations

My name is Munaaf Ghumran, and I am a third year student at Bristol University working on the Machine Learning analysis for MAGEEC.

Finding the Best Flags for a Given Program

The Machine Learning will be used to automatically predict the best set of flags for a given program, based on previously learnt data.
Read more

Monitoring Energy Consumption on Embedded Platforms

My name is Ashley Whetter, I’m a second year computer science student at Bristol University and I’m working on the energy measurement hardware infrastructure.

How will an “energy measurement hardware infrastructure” be used?

As a machine learner, the MAGEEC plugin needs initial training data so that it has an idea of what optimizations will result in a more energy efficient program, given a set of program features.

Using embedded platforms and custom energy monitoring hardware we can accurately measure the amount of energy that a program uses. By automating the loading, running, and measuring of a set of benchmarks, we can easily collect a set of training data for the MAGEEC plugin.
Read more

Welcome to MAGEEC

Welcome to MAGEEC—the MAchine Guided Energy Efficient Compiler framework.

MAGEEC is an open source project which combines work on compilation options which save energy with work on machine learning, to create a compiler framework that is capable of generating code that has improved energy efficiency.
Read more


MAGEEC aims to combine work on compilation options which save energy with work on machine learning to create a compiler framework, capable of generating code that has improved energy efficiency. MAGEEC is an open project with active community involvement, and to participate, use the project wiki.

The project has four key goals:

  1. It will optimize for energy
  2. It will use physical measurement of energy usage, not models.
  3. It will be compiler agnostic—initially targeting GCC and LLVM
  4. It will deliver a working system, not just research papers.

MAGEEC is supported by the Technology Strategy Board of the UK government under its Energy Efficient Computing Initiative. It is a joint project between the open source compiler company, Embecosm and Bristol University’s Department of Computer Science.

The project started in June 2013 and will run for 18 months. We will be at a wide range of events, engaged with many open source projects and all publications will be open access.