Difference between revisions of "Design overview"
(→Compiler Infrastructure) |
(→Compiler Infrastructure) |
||
Line 14: | Line 14: | ||
This portion of MAGEEC embeds into the compiler as a plugin, controlling which optimisation passes get executed based on the classifier that was learned previously. | This portion of MAGEEC embeds into the compiler as a plugin, controlling which optimisation passes get executed based on the classifier that was learned previously. | ||
− | The high level flow can be found on [[Interface_Flow]], with low level implementation details found auto-generated by doxygen at [http://mageec.org/doxygen]. | + | The high level flow can be found on [[Interface_Flow]], with low level implementation details found auto-generated by doxygen at [http://mageec.org/doxygen mageec.org/doxygen]. |
− | As time progresses, a rich set of documentation will be written, and all source will be available at [https://github.com/mageec/mageec] | + | As time progresses, a rich set of documentation will be written, and all source will be available at [https://github.com/mageec/mageec github.com/mageec/mageec] |
Latest revision as of 14:34, 9 September 2013
Overall MAGEEC is split into three phases: data gathering, training, and compiler infrastructure.
Data Gathering
The Data gathering stage is the initial stage where programs are generated, their features collect and the binary executed on the target platform. The energy data for this is collected and entered into a database.
The interface for this is defined in the Data Gather Framework.
Training
The training phase takes the data from the database, and learns a classifier.
Compiler Infrastructure
This portion of MAGEEC embeds into the compiler as a plugin, controlling which optimisation passes get executed based on the classifier that was learned previously.
The high level flow can be found on Interface_Flow, with low level implementation details found auto-generated by doxygen at mageec.org/doxygen.
As time progresses, a rich set of documentation will be written, and all source will be available at github.com/mageec/mageec