From cTuning.org
(Difference between revisions)
|
|
(19 intermediate revisions not shown.) |
Line 3: |
Line 3: |
| ---- | | ---- |
| | | |
- | == Fine-grain optimization project == | + | = Documentation Page = |
- | 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.
| + | *[[CTools:ICI:Projects:GSOC09:Fine_grain_tuning|Fine-grain optimization tuning]] |
| | | |
- | === ICI Events ===
| + | *[[CTools:ICI:Projects:GSOC09:Function_cloning_and_program_instrumentation|Function cloning and program instrumentation]] |
- | ICI events added to the framework for fine-grain tuning are documented here.
| + | |
| | | |
- | === ICI Features ===
| + | *[[CTools:ICI:Projects:GSOC09:Scripts|Scripts for these projects]] |
- | ICI features added to the framework for fine-grain tuning are documented here.
| + | |
| | | |
- | === Plugins ===
| + | *[[CTools:ICI:Projects:GSOC09:Ideas_and_todos|Ideas and todos]] |
- | 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'''
| + | |
- | <ul>
| + | |
- | <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>avoid_gate</b></li>
| + | |
- | </ul>
| + | |
- | <!-- TODO: add other events needed, and give links to them. -->
| + | |
- | | + | |
- | '''State'''
| + | |
- | This plugin now can record and reuse optimization passes without problem, with the following issues to solve:
| + | |
- | <ul>
| + | |
- | <li>The compilation won't fall to default compilation process when no corresponding XML can be found.</li>
| + | |
- | <li>The plugin cannot handle interprocedual passes well.</li>
| + | |
- | </ul>
| + | |
Current revision
Common page for GSOC09 and other developments in summer 2009: function cloning, fine-grain optimizations, program instrumentation:
Documentation Page