From UNIDAPT.org
We have been developing tools to support our compiler and architecture research on intelligent adaptive computing systems since 1999. We believe, that current way of disseminating novel techniques only through publications without providing tools to verify and replicate results or with incompatible unstable prototypes is intended mainly to claim the authorship of the idea in a niche research area, but often do not help the community to use these techniques immediately in a collaborative research to continue addressing global challenges. After getting fed up using multiple incompatible research tools, unsupported third-party software and unstable beta versions, we decided to develop open-source research tools with common API to enable collaborative and replicable R&D and avoid duplicate developments. These activities are now supported by academia and industry while allowing the whole IT community to profit from common tools and focus on innovative research.
|
The importance of these developments has been acknowledged in the EU HiPEAC Research Roadmap on High-Performance Embedded Architecture and Compilation in 2007 (HiPEAC1 research vision). We also participated in the preparation of the new HiPEAC research vision (2012-2020) (reviewing and writing parts on automatic self-adaptation, split-compilation and collective optimization). Collective Tuning Center has been referenced in IBM press-release (2009.06.30). cTuning/MILEPOST technology revolutionizes code and architecture design and optimization, helps to reduce power consumption and time to market for new computing systems, and is now used by major companies and in large US, EU and other international R&D projects. |
We are developing the following collaborative open-source tools:
- Collective Tuning Center / Collective Optimization Repository, cTuning Compiler Collection and MILEPOST GCC/MILEPOST Framework- we are moving empirical automatic performance tuning, iterative optimization (compilation), statistical and machine learning techniques to real production compilers and computing systems, and started the whole system parametrization and abstraction to enable future self-tuning, adaptive computing systems. We are designing Collective Tuning Center (cTuning.org) and continue development of the first publicly available machine learning enabled self-tuning compiler based on automatic correlation between program features, run-time behavior and optimizations (MILEPOST GCC (with MILEPOST colleagues) and cTuning CC) focusing at the moment on improving program execution time, code size, compilation time, power consumption and enabling run-time adaptation. Though this system is still in a preliminary state, we showed for the first time how to substitute the whole human-tuned state-of-the-art optimization heuristic of a production compiler with the automatically learned one across multiple programs and architectures using empirical iterative and collective optimization, program features and predictive modeling. cTuning/MILEPOST technology revolutionizes code and architecture design and optimization, helps to reduce power consumption and time to market for new computing systems, and is now used by major companies and in large US, EU and other international R&D projects. All developed tools have been released as open-source to the community to continue collaborative R&D to automate and simplify code and architecture design and optimization, enable sharing of optimization cases and improve the quality of academic research. cTuning/MILEPOST technology opens up many research opportunities, so it's an on-going, evolving project with many R&D topics available. Current collaborative projects include automating fine-grain/polyhedral optimizations, parallelization and run-time optimization and adaptation using statistical and machine learning techniques.
- cTuning CC website
- MILEPOST GCC website
- cTuning.org website
- cTuning discussion mailing list
- Reference publications: MILEPOST GCC, Collective Optimization
- Media coverage: IBM press-release, InfoWorld, Slashdot, ICT Results
- Interactive Compilation Interface - common API and light-weighted plugin system to transform production-quality compilers with state-of-the-art transformations into powerful collaborative research tools with minimal changes to avoid building new research compiler infrastructure from scratch. Finally, after nearly 6 years, similar plugin system will be included in mainline GCC 4.5 - we already moved some of the ICI features to the mainline and are working on full ICI/mainline GCC synchronization now!
- Continuous Collective Compilation Framework - collaborative framework to enable transparent collection and statistical analysis of heterogeneous optimization information from multiple users (computer architectures, programs, datasets, run-time behavior, etc) to enable collective optimization for performance, code size, power, etc.
- 'Collective Benchmark/MiDataSets - benchmark with multiple datasets to enable realistic program and architecture optimizations, run-time adaptation and performance evaluation.
- UNIDAPT Framework - framework to statically enable run-time optimizations and create self-tuning adaptive binaries and libraries for heterogeneous multi-core systems based on static multi-versioning and dynamic adaptation to continuously improve performance, power, fault-tolerance, etc.
Current design of our Collective Optimization Framework (http://cTuning.org):
We have fruitful collaboration with universities and companies:
- Intel, Université de Versailles-Saint-Quentin-en-Yvelines (France), GENCI, CEA, ICT (China), CAPS Enterprise, University of Edinburgh (UK), IBM, STMicroelectronics, UIUC (USA), UPC (Spain), Ghent University (Belgium) ...
If you are interested to help us develop common research tools with unified APIs (compilers, architecture simulators, run-time environments, etc) you are very welcome to join our cTuning effort.


