Difference between revisions of "About"

From MAGEEC
Jump to: navigation, search
(Add mailing list URL)
Line 4: Line 4:
 
MAGEEC is an open source project which combines work on [http://arxiv.org/abs/1303.6485 compilation options which save energy] with work on [http://ctuning.org/wiki/index.php?title=CTools:MilepostGCC machine learning], to create a compiler framework that is capable of generating code that has improved energy efficiency.
 
MAGEEC is an open source project which combines work on [http://arxiv.org/abs/1303.6485 compilation options which save energy] with work on [http://ctuning.org/wiki/index.php?title=CTools:MilepostGCC machine learning], to create a compiler framework that is capable of generating code that has improved energy efficiency.
  
As with many open source projects we have our own [[MAGEEC|wiki]], [[Mailing_lists|mailing lists]] and [[MAGEEC#IRC|IRC channel]], and over the coming months we'll be working to engage with the wider community.
+
As with many open source projects we have our own [[MAGEEC|wiki]], [http://mageec.org/cgi-bin/mailman/listinfo/mageec mailing lists] and [[MAGEEC#IRC|IRC channel]], and over the coming months we'll be working to engage with the wider community.
  
 
== Goals ==
 
== Goals ==

Revision as of 16:56, 15 August 2013

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.

As with many open source projects we have our own wiki, mailing lists and IRC channel, and over the coming months we'll be working to engage with the wider community.

Goals

We've set ourselves four goals.

  1. Optimize for energy. Existing compilers optimize either to minimize execution time, or code size. This project is about generating code, which when executed will used as little energy as possible.
  2. Use physical measurement of energy usage, not models. One of the problems with past projects has been using models of the amount of energy used, but these are at best accurate only to 10%, whereas individual compiler optimizations can have far smaller effects. But more importantly such models have implicit assumptions about how the processor works on which their models are based, and any compiler using such models would optimize for these assumptions, not for the actual processor.
  3. Be compiler agnostic — more on this below — and initially support both GCC and LLVM. One of the biggest weaknesses of the earlier MILEPOST project was that it became inextricably tied to one particular compiler, GCC, and indeed to a specific release, so making it near impossible to maintain or to be put into general use.
  4. Deliver a working system! This is government funded industrial research, but it is focussed on taking existing knowledge from projects such as MILEPOST and putting it to work in very much a practical way.

For more information see the wiki.