From cTuning.org
Current revision (00:12, 31 December 2010) (view source) |
|||
(4 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
{{CMenu:CTools|ICI}} | {{CMenu:CTools|ICI}} | ||
+ | |||
+ | '''This is an on-going project funded by Google Summer of Code'09:''' | ||
+ | * [http://socghop.appspot.com/org/home/google/gsoc2009/gcc GSOC'09 project description] | ||
+ | * [http://gcc-ici.svn.sourceforge.net/viewvc/gcc-ici/branches/ SVN repository] | ||
+ | * [http://groups.google.com/group/ctuning-discussions cTuning development mailing list] | ||
+ | |||
+ | ---- | ||
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 [[CTools:ICI:Projects:Instrumentation|instrumentation through ICI]] to be able to select different clones using externally linked libraries (for hardware counters monitoring for example). | 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 [[CTools:ICI:Projects:Instrumentation|instrumentation through ICI]] to be able to select different clones using externally linked libraries (for hardware counters monitoring for example). | ||
Line 7: | 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. | ||
Line 13: | Line 20: | ||
When implemented, we would like to extend all the above techniques, but at the first step we would like to extend ([http://unidapt.org/index.php/Dissemination#LCWP2009 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. | When implemented, we would like to extend all the above techniques, but at the first step we would like to extend ([http://unidapt.org/index.php/Dissemination#LCWP2009 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 | + | |
+ | |||
+ | '''Who is interested:''' Grigori Fursin, Chengyong Wu, Cupertino Miranda, ... | ||
'''Who would like to help with implementation:''' | '''Who would like to help with implementation:''' |
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: