From UNIDAPT.org

Jump to: navigation, search

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 computing systems based on empirical automatic code/architecture optimization and statistical, collective and machine learning techniques. From 2005 and 2010, UNIDAPT Group was a part of Alchemy Group at INRIA Saclay. Since March, 2010, we are 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.

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.

ctuning.gif
  • Main achievements:
    • Moved empirical automatic performance tuning, iterative optimization (compilation), statistical and machine learning techniques to real production compilers and 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) focusing at the moment on improving program execution time, code size, compilation time and enabling run-time adaptation. Though this system is still in a preliminary state, we showed for the first time that it was possible 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. We released all our tools to the community in a hope to open up many collaborative research opportunities to automate and simplify code and architecture design and optimization, enable sharing of optimization cases and improve the quality of academic research. Planned collaborative extensions include adding more fine-grain and/or polyhedral optimizations and improving auto-parallelization.
    • 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.
    • MILEPOST GCC - first publicly available open-source machine learning enabled compiler that 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.
  • Motivation example:

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:

fig_opt_case_susan_c_1.gif fig_opt_case_susan_c_2.gif

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:

img_influence_features.gif img_influence_optimizations.gif
.

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.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.