From cTuning.org
Current revision (00:12, 31 December 2010) (view source) |
|||
Line 14: | Line 14: | ||
* adaptive libraries that select different optimizations based on dataset features ([http://unidapt.org/index.php/Dissemination#LCWP2009 LCWP2009]) | * adaptive libraries that select different optimizations based on dataset features ([http://unidapt.org/index.php/Dissemination#LCWP2009 LCWP2009]) | ||
* adaptive binaries and libraries for heterogeneous multi-core systems or virtual environments ([http://fursin.net/wiki/index.php5?title=Research:Dissemination#JGVP2009 JGVP2009]) | * adaptive binaries and libraries for heterogeneous multi-core systems or virtual environments ([http://fursin.net/wiki/index.php5?title=Research:Dissemination#JGVP2009 JGVP2009]) | ||
- | * transparent collection of profiling statistics for collective optimization ([http://unidapt.org/index.php/Dissemination#FT2009 FT2009]) | + | * transparent collection of profiling statistics for collective optimization ([http://unidapt.org/index.php/Dissemination#FT2010 FT2010], [http://unidapt.org/index.php/Dissemination#FT2009 FT2009]) |
Some very basic prototypes already existed for older GCC versions ([http://gcc.gnu.org/wiki/functionAdaptation Link1], [http://gcc.gnu.org/wiki/FunctionSpecificOpt Link2]), however due to considerable internal changes in newer GCC, we would like to implement the new function cloning and program instrumentation in GCC 4.4. We will use ICI that allows quick prototyping of research ideas and enable selection and tuning of optimizations on a function level or finer-grain level. | Some very basic prototypes already existed for older GCC versions ([http://gcc.gnu.org/wiki/functionAdaptation Link1], [http://gcc.gnu.org/wiki/FunctionSpecificOpt Link2]), however due to considerable internal changes in newer GCC, we would like to implement the new function cloning and program instrumentation in GCC 4.4. We will use ICI that allows quick prototyping of research ideas and enable selection and tuning of optimizations on a function level or finer-grain level. |
Current revision
Navigation: cTuning.org > CTools > ICI
This is an on-going project funded by Google Summer of Code'09:
We would like to be able to create function clones on demand, apply different fine-grain optimizations through Interactive Compilation Interface (or generate code for different architectures) and provide instrumentation through ICI to be able to select different clones using externally linked libraries (for hardware counters monitoring for example).
We beleive that it's critical to have universal function cloning in compilers since it can enable the following:
- statically enable self-tuning binaries and libraries adaptable to different program and system behavior at run-time (FCOP2005)
- adaptive libraries that select different optimizations based on dataset features (LCWP2009)
- adaptive binaries and libraries for heterogeneous multi-core systems or virtual environments (JGVP2009)
- transparent collection of profiling statistics for collective optimization (FT2010, FT2009)
Some very basic prototypes already existed for older GCC versions (Link1, Link2), however due to considerable internal changes in newer GCC, we would like to implement the new function cloning and program instrumentation in GCC 4.4. We will use ICI that allows quick prototyping of research ideas and enable selection and tuning of optimizations on a function level or finer-grain level.
When implemented, we would like to extend all the above techniques, but at the first step we would like to extend (LCWP2009) to develop statistical and machine learning techniques to select appropriate function clones (with different optimizations) based on static and dynamic program and dataset features.
Who is interested: Grigori Fursin, Chengyong Wu, Cupertino Miranda, ...
Who would like to help with implementation: