Collective Tuning Initiative
Encyclopedia
Collective Tuning Initiative is a community-driven initiative, which aims to develop free collaborative open-source research tools with unified API for code and architecture characterization and optimization, and enable sharing of benchmarks, data sets and optimization cases from the community in the open optimization repository
through unified web-services to be able to predict better optimizations or architecture designs provided there is enough information collected in the repository from multiple users. Using common R&D tools should help to improve the quality and reproducibility of the research of code and architecture design and optimization, and boost innovation in this area.
cTuning tools and repository currently include:
Collective Optimization Database
Collective Optimization Database is an open repository to enable sharing of benchmarks, data sets and optimization cases from the community, provide web services and plugins to analyze optimization data and predict program transformations or better hardware designs for multi-objective optimizations...
through unified web-services to be able to predict better optimizations or architecture designs provided there is enough information collected in the repository from multiple users. Using common R&D tools should help to improve the quality and reproducibility of the research of code and architecture design and optimization, and boost innovation in this area.
cTuning tools and repository currently include:
- Collective Optimization DatabaseCollective Optimization DatabaseCollective Optimization Database is an open repository to enable sharing of benchmarks, data sets and optimization cases from the community, provide web services and plugins to analyze optimization data and predict program transformations or better hardware designs for multi-objective optimizations...
is an open repository to share optimization cases from the community, provide web-services and plugins to analyze collective optimization data and predict good program optimizations based on statistical and machine learning techniques, and improve the quality and reproducibility of the compiler and architecture research. - Online machine learning-based program optimization predictor is used to suggest profitable optimizations that improve execution time/code size/compilation time, etc based on similarities between programs (program features).
- Continuous Collective Compilation Framework is used to automate and distribute iterative feedback-directed exploration of large optimization spaces by multiple users.
- Interactive Compilation InterfaceInteractive Compilation InterfaceThe Interactive Compilation Interface is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current black-box compilers into collaborative modular interactive toolsets. The ICI framework acts as a "middleware" interface between the compiler and...
"opens up" and transforms production compilers into stable interactive research toolsets using event-driven plugin system to avoid costly developments of new research compilers from scratch. - Collective Benchmark with multiple datasets is used to enable realistic benchmarking and research on iterative compilation and run-time adaptation.
- Universal Adaptation Framework is used to enable run-time adaptation and optimization of statically-compiled programs for heterogeneous multi-core architectures.