|
UNIDAPT Group (UNIversal aDAPTation) has been created by Dr. Grigori Fursin in 2004 to revisit current over-complicated, under-performing and power-hungry computing technology, and develop self-tuning, adaptive computing systems based on empirical automatic code/architecture optimization and statistical, collective and machine learning techniques. Since March, 2010, Grigori and his UNIDAPT team joined EXATEC Lab in France (Intel Labs Europe/CEA/GENCI/UVSQ). More information will be available through the official communication channels of the new Lab.
It may not always be visible to the IT users, but developing and optimizing new computing systems using current technology is too time consuming and costly. Hence, we are developing a new methodology to automate and simplify the process of developing and optimizing new computer architectures, compilers, operating systems and programming environments using statistical analysis, machine learning, dynamic adaptation and bio-inspired techniques. We believe that our adaptive approaches are critical to overcome the complexity of computing systems and improve their performance, power consumption, system size and fault-tolerance automatically while reducing their cost and time to market. We hope that our techniques will boost innovation in bio-informatics, medicine, physics, aeronautics, robotics, chemistry, finances, image/video processing and other important areas that demand ever-increasing computing resources while placing strict requirements on systems.

- Main achievements:
- Moved 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. Designed Collective Tuning Center (cTuning.org) and led the 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.
- Participated in the preparation of the HiPEAC research vision (2012-2020) (reviewing and writing parts on automatic self-adaptation, split-compilation and collective optimization).
- Initiated the International Workshop Series on Statistical and Machine learning approaches to ARchitecture and compilaTion (SMART) together with my colleagues from the University of Edinburgh.
- Developed multiple practical techniques to speed up iterative feedback-directed optimization and enable run-time adaptation for statically compiled programs based on code cloning, dynamic low-overhead monitoring of program behavior and reaction to its changes; enabled predictive scheduling for heterogeneous multicore systems; developed portable program characterization techniques based on reactions to optimizations, adaptive libraries based on dataset characterization using machine learning and decision trees, empirical architecture design space exploration, transparent statistical collective optimization, etc (Publications).
- Current collaboration:
- 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) ...
- Major developments:
- Collective Tuning Center (cTuning.org), Collective Optimization Database, Optimization Prediction Web-Service - community-driven collaborative center to share optimization cases and develop R&D tools with common APIs for self-tuning adaptive computing systems (including programs, compilers, run-time systems, architectures) based on empirical optimization, run-time adaptation, statistical collective optimization and machine learning.
- cTuning CC - free, open source compiler collection that combines multiple tools and techniques including MILEPOST GCC, ICI, CCC framework, cTuning web-services and Collective Optimization Database and cBench as the first practical step toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collective optimization, statistical analysis and machine learning.
- MILEPOST GCC - first publicly available open-source machine learning enabled compiler that that correlates program features and optimizations during empirical learning to predict good optimization for unseen programs. It opens up many new research opportunities.
- Interactive Compilation Interface - high-level common compiler independent research API and low-level event-driven plugin system to “hijack” production compilers and transform them into extensible interactive research optimization toolsets. We participated in discussions on GCC low-level plugin framework and added some of the ICI to the mainline GCC 4.5.
- CCC and UNIDAPT framework - extensible framework to automate iterative compilation and enable run-time adaptation for statically compiled programs.
- cBench/MiDataSets - collection of open source programs and datasets for realistic research on program optimization and performance evaluation.
- Dissemination:
- We co-founded the SMART workshop series on statistical and machine learning approaches to architectures and compilation.
- We organize M.S. course on Future Computing Systems.
- We gave several invited talks at IBM, Intel and a number of other companies and universities about automating code and architecture optimizations as well as enabling self-tuning intelligent adaptive computing systems.
Example of complex optimization search spaces for susan_c from cBench after using CCC framework and MILEPOST GCC 4.4.0 developed by UNIDAPT Group:
Example of program similarities based on static program features and based on best found program optimizations from the cTuning optimization repository that improve execution time:
.
Milepost GCC combined with cTuning technology helps to correlate program features and optimizations using various machine learning techniques to quickly predict good optimizations for a previously unseen program.
If you would like to contact or visit us you can find more details here.
|
| Announcements
|
- 2010.June.30 - Call for papers: CGO'11.
- 2010.June.9 - Finally, we recovered cTuning.org website and services after physical hard drive failure. However, if you still experience some problems or abnormal behavior, please report that to the cTuning discussions mailing list! Thanks and sorry for any inconvenience!
- 2010.April.28 - List of all projects accepted for Google Summer of Code 2010 is now available on-line. There are many projects related to GCC, LLVM, MONO, etc.
Discussion page about GCC as a research compiler has been updated. Diego Novillo started a proposal to modularize GCC.
- 2010.April.14 - Long awaited GCC 4.5 has been released! It features new plugin framework with some parts of ICI to continue GCC modularization and parametrization, simplify pass manipulation and reordering, and enable better integration with cTuning/MILEPOST tools to automate optimization space exploration and prediction of profitable combinations of program transformations during multi-objective optimizations (balancing execution time, code size, compilation time, etc) for a given program/dataset/architecture.
- 2010.March.17 - We pre-released all tools including MILEPOST GCC, CCC framework, cBench and cDatabase. It's a major update of cTuning tools including changes behind to support transparent optimizations of programs and libraries, better multi-objective optimization (including balancing of execution time, code size and compilation time), bug fixes in averaging multiple optimization cases, C++ support in MILEPOST GCC, support of all version of GCC 4.4, new static features in MILEPOST GCC, extended documentation, etc. Feedback and comments are welcome here.
- 2010.March.01 - CGO'10 program is available on-line.
- 2010.March.01 - we are now helping to create Exascale Research Center in France (Intel Labs Europe/CEA/GENCI/UVSQ) working on a new methodology to design, characterize and optimize exascale computing systems.
- 2010.January.28 - Proceedings and slides from GROW'10 and SMART'10 are now available online.
- 2010.January.4 - Call for participation: GROW'10 and SMART'10 workshops will be held on the 23rd and 24th of January in Pisa, Italy co-located with the HiPEAC conference. Preliminary programs are available: SMART'10 program and GROW'10 program.
- 2009.November.11 - Small CCC analysis plugins update available at SVN to speedup queries when dealing with large amount of optimization data in cDatabases (gigabytes of data).
- 2009.November.7 - Submission deadline for SMART'10 workshop has been extended until the 22nd of November, 2009.
- 2009.October.2 - We successfully passed the final MILEPOST review and the project is officially over. We would like to thank all the partners from the University of Edinburgh, IBM Haifa, CAPS and ARC for a great collaborative work during last 3 years and cTuning community for a very interesting feedback and extensions! We released all the tools from the project and hope to continue extending them within community-driven cTuning.org. This infrastructure should open up many interesting research opportunities for performance auto-tuning based on statistical and machine learning techniques so we hope to see many more interesting extensions to the MILEPOST/cTuning technology soon ;) !..
|
| Funding
|
- If you would like to support or fund our collaborative research and developments, don't hesitate to contact us.
|
|