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 (High-Performance Embedded Architecture and Compilation Roadmap in the Transactions on HiPEAC I, Lecture Notes in Computer Science 4050, pp 5-29, Springer-Verlag, 2007). They will also be included in the HiPEAC 2012-2020 research roadmap. Collective Tuning Center has been referenced in IBM press-release (2009.06.30). Similar ideas also appear in different US roadmaps for the Compiler Community. |
After many years of research and developments we finally managed to transform GCC into the first practical open-source machine learning based research compiler with the help of the MILEPOST consortium (MILEPOST GCC link, IBM press-release). You can test and help to improve our online optimization predictor based on your program feature using Collective Tuning Center web services. We hope it is the first small step towards our global long-term objective to develop smart adaptive self-tuning computing systems. If you any questions about MILEPOST GCC and Collective Tuning Center, don't hesitate to contact Grigori Fursin (INRIA, France) (MILEPOST Framework and cTuning.org R&D coordinator).
We are developing the following collaborative open-source tools:
- Collective Tuning Center - collaborative community-driven wiki-based portal to share optimization knowledge in the common optimization repository and develop common R&D to enable future intelligent adaptive self-tuning computing systems based on iterative feedback-directed compilation, collective optimization and machine learning. It is included in the EU HiPEAC Roadmap of research (2012-2020) and referenced in IBM press-release (2009.06.30).
- MILEPOST GCC - the first open-source adaptive machine-learning enabled compiler with GCC ICI and IBM static program feature extractor.
- MILEPOST Framework - infrastructure that combines MILEPOST GCC, CCC Framework and UNIDAPT Framework to tune compiler optimization heuristic or find "good" program optimizations or architectural configurations for reconfigurable processors entirely automatically using statistical and machine learning techniques.
- 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 5 years, similar plugin system will be included in mainline GCC 4.5 - we 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.
- 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.
- Collective Benchmark/MiDataSets - benchmark with multiple datasets to enable realistic program and architecture optimizations, run-time adaptation and performance evaluation.
We have fruitful collaboration with universities and companies, and always happy to discuss new proposals:
- University of Edinburgh (UK), INRIA/IRISA (France), UPC (Spain), UIUC (USA), ICT (China), Imperial College (UK), University of Cambridge (UK)
- IBM, ARC (UK), CAPS Enterprise, STMicro, AMD
If you are interested to join our effort to develop common research tools with unified APIs (compilers, architecture simulators, run-time environments, etc), don't hesitate to contact us.

