From cTuning.org
(Difference between revisions)
Line 4: | Line 4: | ||
* '''Project reference:''' [http://cordis.europa.eu/fetch?CALLER=FP6_PROJ&ACTION=D&DOC=1&CAT=PROJ&QUERY=1170930422883&RCN=79763 035307] (Specific Targeted Research Project, funded by [http://cordis.europa.eu/fp6/dc/index.cfm?fuseaction=UserSite.FP6HomePage EU FP6 program]) | * '''Project reference:''' [http://cordis.europa.eu/fetch?CALLER=FP6_PROJ&ACTION=D&DOC=1&CAT=PROJ&QUERY=1170930422883&RCN=79763 035307] (Specific Targeted Research Project, funded by [http://cordis.europa.eu/fp6/dc/index.cfm?fuseaction=UserSite.FP6HomePage EU FP6 program]) | ||
- | * '''Official dates:''' 2006-07-01 - 2009-06-30 | + | * '''Official dates:''' 2006-07-01 - 2009-06-30 (continued by Grigori Fursin and cTuning community afterwards) |
* '''Project coordinator:''' [http://www.dcs.ed.ac.uk/home/mob/ Prof. Michael O'Boyle, University of Edinburgh, UK] | * '''Project coordinator:''' [http://www.dcs.ed.ac.uk/home/mob/ Prof. Michael O'Boyle, University of Edinburgh, UK] | ||
- | * '''Technical coordinator ( | + | * '''Technical coordinator (R&D):''' [http://fursin.net/research Dr. Grigori Fursin, INRIA/UVSQ, France] |
* '''Official partners:'''<BR><BR>http://unidapt.org/images/logo_inria.gif http://unidapt.org/images/logo_ue.gif http://unidapt.org/images/logo_ibm.jpg http://unidapt.org/images/logo_caps.gif http://unidapt.org/images/logo_arc.gif | * '''Official partners:'''<BR><BR>http://unidapt.org/images/logo_inria.gif http://unidapt.org/images/logo_ue.gif http://unidapt.org/images/logo_ibm.jpg http://unidapt.org/images/logo_caps.gif http://unidapt.org/images/logo_arc.gif | ||
Line 25: | Line 25: | ||
* '''Continuation:''' | * '''Continuation:''' | ||
- | ** After the end of the MILEPOST project in October, 2009, the MILEPOST framework | + | ** After the end of the MILEPOST project in October, 2009, [http://fursin.net Grigori] integrated the MILEPOST framework with the [http://cTuning.org cTuning framework] to continue collaborative R&D on self-tuning computing systems together with the [[Community:cTuning community]]. |
** Some parts of MILEPOST GCC (parts of ICI plugin system) has been integrated with the [http://gcc.gnu.org/gcc-4.5 mainline GCC 4.5] | ** Some parts of MILEPOST GCC (parts of ICI plugin system) has been integrated with the [http://gcc.gnu.org/gcc-4.5 mainline GCC 4.5] | ||
** We are looking forward to public contributions to cTuning framework particularly to add support for more fine-grain optimizations, polyhedral optimizations, LLVM, Rose, Open64, ICC, XL, etc ... | ** We are looking forward to public contributions to cTuning framework particularly to add support for more fine-grain optimizations, polyhedral optimizations, LLVM, Rose, Open64, ICC, XL, etc ... |
Revision as of 22:01, 14 May 2010
![]() |
MILEPOST project |
machine learning for embedded programs optimization |
Web shortcut: http://cTuning.org/project-milepost
- Project reference: 035307 (Specific Targeted Research Project, funded by EU FP6 program)
- Official dates: 2006-07-01 - 2009-06-30 (continued by Grigori Fursin and cTuning community afterwards)
- Project coordinator: Prof. Michael O'Boyle, University of Edinburgh, UK
- Technical coordinator (R&D): Dr. Grigori Fursin, INRIA/UVSQ, France
- Official partners:
- Objectives:
The overall objective of this project is to develop compiler technology that can automatically learn how to best optimise programs for reconfigurable heterogeneous embedded processors. If successful we will be able to dramatically reduce the time to market of reconfigurable systems. Rather than developing a specialised compiler by hand for each configuration, our project will produce optimising compilers automatically.
Current hand-crafted approaches to compiler development are no longer sustainable. With each generation of reconfigurable architecture, the compiler development time increases and the performance improvement achieved decreases. As high performance embedded systems move from application specific ASICs to programmable heterogeneous processors, this problem is becoming critical.
This project explores an emerging alternative approach where we use machine learning techniques, developed in the artificial intelligence arena, to learn how to generate compilers automatically. Such an approach, if successful, will have a dramatic impact on reconfigurable systems. This means that for a fixed amount of design time. We can evaluate many more configurations leading to better and more cost-effective performance. If successful, this will enable Europe to increase its dominance in this critical emerging market.
- Software releases:
- Milepost GCC - first public machine learning-enabled, self-tuning, adaptive compiler that correlates program features and optimizations during empirical learning to predict good optimization for unseen programs.
- Milepost Optimization Framework - infrastructure that combines MILEPOST GCC, CCC Framework, Collective Optimization Database and UNIDAPT Framework to find "good" program optimizations or architectural configurations for reconfigurable processors entirely automatically using statistical and machine learning techniques. After the end of the MILEPOST project in October, 2009, the MILEPOST framework has been fully integrated with cTools. Note: this framework is now fully integrated with the cTuning infrastructure, tools and repository so it is not used/extended anymore on its own.
- Press:
- IBM press-release about MILEPOST GCC (2009.06.30, 2008.06.30).
- InfoWorld: Rethinking code optimization for mobile and multicore
- Slashdot.org
- Dr Dobb
- HPCWire
- Continuation:
- After the end of the MILEPOST project in October, 2009, Grigori integrated the MILEPOST framework with the cTuning framework to continue collaborative R&D on self-tuning computing systems together with the Community:cTuning community.
- Some parts of MILEPOST GCC (parts of ICI plugin system) has been integrated with the mainline GCC 4.5
- We are looking forward to public contributions to cTuning framework particularly to add support for more fine-grain optimizations, polyhedral optimizations, LLVM, Rose, Open64, ICC, XL, etc ...