From cTuning.org
(New page: 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 architectur...) |
|||
Line 1: | Line 1: | ||
+ | {{CMenu:CTools|ICI}} | ||
+ | |||
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 9: | Line 11: | ||
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. | ||
- | When implemented, 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 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 features. |
Revision as of 09:44, 26 March 2009
Navigation: cTuning.org > CTools > ICI
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 (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 features.