From cTuning.org
(add fine-grain tuning project and it's adapt-passes plugin) |
(add some discription to tuning project) |
||
Line 4: | Line 4: | ||
== Fine-grain optimization project == | == Fine-grain optimization project == | ||
- | Yuanjie Huang | + | 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. | ||
+ | |||
=== Plugins === | === Plugins === | ||
Plugins developed for fine-grain tuning are documented here. These plugins are developed to work with ICI-2.0 interface. | Plugins developed for fine-grain tuning are documented here. These plugins are developed to work with ICI-2.0 interface. |
Revision as of 12:09, 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.
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.