From cTuning.org
(add some discription to tuning project) |
|||
Line 13: | Line 13: | ||
=== ICI Features === | === ICI Features === | ||
ICI features added to the framework for fine-grain tuning are documented here. | ICI features added to the framework for fine-grain tuning are documented here. | ||
+ | {| border="1" cellspacing="0" cellpadding="3" style="text-align:left;" | ||
+ | ! Feature name | ||
+ | ! Type of contents | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>"dummy"</tt> | ||
+ | | array of strings, i.e., char ** | ||
+ | | dummy feature here. | ||
+ | |} | ||
=== Plugins === | === Plugins === | ||
Line 23: | Line 32: | ||
'''Required Events and parameters''' | '''Required Events and parameters''' | ||
<ul> | <ul> | ||
- | <li><b>pass_execution</b>: this event is triggered when a GCC pass is about to run.</li> | + | <li><b>"pass_execution"</b>: this event is triggered when a GCC pass is about to run.</li> |
- | <li><b>all_passes_manager</b></li> | + | <li><b>"all_passes_manager"</b></li> |
- | <li><b>avoid_gate</b></li> | + | <li><b>"avoid_gate"</b></li> |
</ul> | </ul> | ||
<!-- TODO: add other events needed, and give links to them. --> | <!-- TODO: add other events needed, and give links to them. --> |
Revision as of 12:17, 25 June 2009
Common page for GSOC09 and other developments in summer 2009: function cloning, fine-grain optimizations, program instrumentation:
Contents |
Fine-grain optimization project
Yuanjie Huang (ICT, China)
This project aims to provide fine-grain optimization selection and tuning abilities in GCC, and thus enable GCC to tune default optimization heuristic of the compiler or fine optimizations for a given program on a given architecture entirely automatically using statistical and machine learning techniques from the MILEPOST project.
ICI Events
ICI events added to the framework for fine-grain tuning are documented here.
ICI Features
ICI features added to the framework for fine-grain tuning are documented here.
Feature name | Type of contents | Description |
---|---|---|
"dummy" | array of strings, i.e., char ** | dummy feature here. |
Plugins
Plugins developed for fine-grain tuning are documented here. These plugins are developed to work with ICI-2.0 interface.
adapt-passes
Description
The function of this plugin depends on ICI_ADAPT_CONTROL environmental variable, which can be either set to 1 to record passes for each function into XML files or set to 2 to reuse passes from XML files to substitute passes in GCC compiling process.
Required Events and parameters
- "pass_execution": this event is triggered when a GCC pass is about to run.
- "all_passes_manager"
- "avoid_gate"
State This plugin now can record and reuse optimization passes without problem, with the following issues to solve:
- The compilation won't fall to default compilation process when no corresponding XML can be found.
- The plugin cannot handle interprocedual passes well.