 |
|
 |

We are looking for collaborations to extend MILEPOST GCC - machine learning based self-tuning research compiler!!!
Main research projects Main software developments Publications Misc
Hot links
|
|
 |
- Announcements:
-
- 2008.October.21-23
- I presented the MILEPOST project at the Information and Brokerage Conference
on Information and Communication Technologies in the EU's 7th Framework Programme in Moscow.
- 2008.October.09
- This year I am an M2R course organizer at LRI, Paris South University ("Future Computing Systems"). The page for this course with timetable and materials is available here.
- 2008.September.16
- Our papers on "Collective optimizations" (Grigori Fursin and Olivier Temam) and on "Predictive runtime code scheduling for heterogeneous architectures" (Victor Jimenez, Isaac Gelado, Lluis Vilanova, Marisa Gil, Grigori Fursin and Nacho Navarro) have been accepted for the HiPEAC'09 conference. The pdf will be available after final edits in October.
- 2008.September.10
- The CFP for the 1st Workshop on GCC Research Opportunities (GROW'09) is available on-line.
- 2008.September.09
- I presented my work on dynamic optimization and adaptation for statically compiled programs using function multi-versioning at ScalPerf'08.
- 2008.September.01
- The CFP for the 3rd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (SMART'09) is ready. Looking forward to your participation!..
- 2008.August
- We presented our UNIDAPT and MILEPOST activities at Reservoir Labs and IBM TJ Watson Research Center (USA).
- 2008.July.16
- We presented a poster about MILEPOST GCC at the ACACES summer school in L'Aquila, Italy ... Thanks for the useful feedback!
- 2008.July
- IBM made a press release about MILEPOST project and MILEPOST GCC.
- 2008.July
- We are preparing a release of the MILEPOST GCC v1.0, Continuous Collective Compilation (and Parallelization) Framework v1.0 and MiDataSets 1.3a
- 2008.June.23
- We uploaded the CCC Framework and MILEPOST GCC beta pre-release versions to the CVS to be able to continue collaboration with our colleagues. We hope to release the final stable versions in summer 2008. We also released GCC ICI v1.0.
- 2008.June.19
- I presented a paper about MILEPOST GCC (first machine learning based research compiler) and Continous Collective Compilation (and Parallelization) Framework (to continuously reuse optimization knowledge among different programs and architectures) at the GCC Summit in Ottawa, Canada - thanks everyone for interesting feedback and suggestions !..
- 2008.May
- Anton Lokhmotov from Imperial College (UK) gave a talk at INRIA Saclay -
"Programming accelerated systems"
[ News archive ]
|

My current research goal is to develop radically new practical techniques to overcome the complexity of current and future architectures, compilers, operating systems and programming environments. I am working on creating self-tuning intelligent adaptive systems, automating and improving architecture and compiler design (particularly for future heterogeneous multi-core systems), optimizing and parallelizing applications to improve performance, power consumption, size and fault-tolerance, reduce cost and time to market based on machine learning, artificial intelligence, statistical methods and biologically inspired techniques. I believe that this is critical to be able to continue innovation in science and industry (bioinformatics, medicine, physics, chemistry, finances, gaming, etc).
In my spare time, I enjoy thinking about emerging technologies and innovative intelligent systems in IT, AI, biotechnology and other areas, and interested in the knowledge transfer, consulting and startups.
[ Detailed research objectives ]
[ Main research projects ]
|
|
Address: |
Grigori Fursin,
INRIA Saclay, Parc Club Orsay Universite,
Zac des Vignes, 3 rue Jean Rostand,
Orsay, 91893, France |
[ Detailed contact info ] |
|
Email: |
grigori.fursin@inria.fr |
|
|
Current job and education: |
-
2007 - current: Tenured research scientist at INRIA Saclay, France and UNIDAPT Group founder
- 2005 - 2007: Postdoctoral researcher at INRIA Futurs, France
- 1999 - 2004: Ph.D. from the University of Edinburgh, UK
- 1993 - 1999: B.S & M.S. from MIPT, Russia
|
[ More info in CV ] |
|
Recent professional activities: |
|
[ More info in CV ] |
|
Recent collaborations: |
- IBM, ARC, CAPS Enterprise, STMicro, NXP (Philips), Thales, ARM
- University of Edinburgh (UK), INRIA (France) , UPC (Spain) , ICT (China), UIUC (USA), Ghent University (Belgium)
|
|
|
Teaching: |
2008/2009: Future Computing Systems - M2R Course organizer at LRI, Paris South University and teaching part of it on adaptive self-tuning systems
2007/2008: Continuous adaptive iterative compilation and machine learning techniques (part of the postgraduate course at LRI, Paris South University, France) |
[ Detailed info and course materials ] |
|
Publications: |
Full list of publications |
|
|
Main research projects: |
Most of the projects I am involved in, attempt to solve research problems from my long-term goal to develop and generalize automatic continuous program optimization and parallelization techniques and architecture design exploration using innovative search methods, adaptation, machine learning and knowledge reuse. This should enable realistic intelligent self-tuning systems, particularly in the presence of rapidly evolving multi-core heterogeneous architectures:
- MILEPOST GCC - the first machine learning based self-tuning research compiler with the Interactive Compilation Interface that adapts to new environments automatically
- Iterative compilation -
intelligent search techniques and statistical machine learning to build compiler optimization heuristics, find best program optimizations and architectural designs entirely automatically
- ICI - Interactive Compilation Interface and a light-weighted plugin system to enable fine-grain cost model tuning for current compilers and to enable systematic research on iterative compilation
- MiDataSets - multiple datasets for benchmarks to enable systematic study of the influence of multiple datasets on program performance, optimization and benchmarking
- UNIDAPT - a new concept to combine static and dynamic optimizations by creating self-tuning static binaries based on static code multiversioning and run-time hardware counters monitoring routines to learn run-time program behavior continuously, detect changes due to different program phases, inputs, environments (OS, architecture, virtual layers) and to dynamically react to those changes by selecting appropriately optimized code versions to improve performance, power, fault-tolerance, etc.
- UNIDAPT extension for heterogeneous multi-cores systems - a technique to compile multiple versions of a code for different ISA, provide explicit run-time memory transfer and adaptation routines and select the most appropriate versions on-line based on predictive code scheduling
- Statistical search techniques and machine-learning - techniques to speed up program optimization and architecture design exploration
- Systematic architecture DSE - automatic design space exploration
- Continuous Collective Compilation - a framework for global optimization knowledge reuse from multiple users to tune computing systems (compilers, programs, OS, architectures) quickly and automatically.
Following projects are at the preliminary stage:
- JIT VM optimizations and staged compilation
- Machine learning techniques to speed up polyhedral optimizations
- Performance evaluation, prediction and realistic benchmarking
- New programming paradigms to simplify program design and parallelization
- Non-deterministic computing
|
[ Details ]
|
|
Some current software developments: |
- GCC-ICI & Open64-ICI - Interactive Compilation Interface for GCC and Open64to enable research on fine-grain program optimizations
- UNIDAPT - Low-overhead run-time adaptation technique for statically compiled programs
- CCC - Continuous Collective Compilation framework
- MiDataSets - Multiple datasets for MiBench to enable research on realistic program optimization, run-time adaptation and benchmarking
|
[ Details ] |
|
Consultancy and start-ups: |
In my spare time, I enjoy thinking about emerging technologies and innovative intelligent systems in IT, AI, biotechnology and other areas, and interested in the knowledge transfer, consulting and startups. |
More info coming soon ...
Some of my spare-time R&D:
|
| |
|
|
|
|
|
|
 |
|
|
|
| Research objectives |
|
Current innovations in science and industry demand ever-increasing computing resources while placing strict requirements on system performance, power consumption, size, response, reliability, portability and design time. Both embedded and large-scale systems tend to evolve toward complex heterogeneous multi-chip systems with dramatically increased design, test and optimization time. Optimizing compilers play a key role in producing executable codes quickly and automatically while satisfying all the above requirements for a broad range of programs and architectures. However, for many years, state-of-the-art compilers fail to deliver satisfactory levels of performance on new systems due to necessarily simplistic hardware models, fixed and black-box optimization heuristics, inability to tune application at fine-grain level, highly dynamic behavior of the system and inability to adapt to varying program and system behavior at run time with low overhead. This suggests that current system design and program optimization technologies are reaching their limits and should be revisited to keep pace with rapidly evolving hardware.
During my Ph.D. at the University of Edinburgh (1999-2004), I had been working with Prof. Michael O'Boyle to introduce iterative compilation at a fine-grain level (function, loop or instruction) to automatically find best optimization settings for large applications (rather than kernels) on rapidly evolving architectures that beat state-of-the art optimizing compilers. I had also been working with Prof. Olivier Temam to develop a fast and accurate technique to determine lower bound of the execution time of memory intensive applications by replacing all array accesses with scalars to have a stopping criterion for iterative compilation. Later, we developed a method to speed up iterative compilation by 3 orders of magnitude using a run-time low-overhead program phase detection scheme and function versioning. At the same time, I started developing an Interactive Compilation Interface (ICI) for Open64/PathScale compilers and GCC to enable continuous run-time adaptation and optimization of statically compiled programs at fine-grain level. We also developed a novel technique to characterize programs or architectures using program reaction to optimizations (transformations). I had been collaborating with my colleagues from the University of Edinburgh, UK to introduce this technique as well as statistical search and machine learning to enable optimization knowledge reuse among different programs and architectures using static and dynamic program and architecture features.
I currently work as a tenured research scientist at INRIA Saclay, France and use my research results in several EU-funded projects (HiPEAC, MilePost, SARC, GGCC and others) to move towards my long-term goal to develop and generalize automatic continuous program optimization and parallelization techniques and architecture design exploration using innovative search methods, adaptation, machine learning and knowledge reuse. This should enable realistic intelligent self-tuning systems, particularly in the presence of rapidly evolving multi-core heterogeneous architectures. I am developing publicly available software tools for GCC and Open64 compilers. I collaborate with my colleagues from the University of Edinburgh, INRIA, Ghent University, ICT, IBM, ARC, CAPS Enterprise, NXP, STMicro and others, and open to new contacts, collaborations and proposals to realize these goals.
In my spare time, I enjoy thinking about emerging technologies and innovative intelligent systems in IT, AI, biotechnology and other areas, and interested in the knowledge transfer, consulting and startups. In my leisure time, I enjoy traveling, playing football, learning new languages, learning to play guitar and participating in community activities.
I am moving all my research and software development activities to the UNIDAPT Group.
|
|
Misc |
- Great story about Rutherford and Bohr (in English, in Russian)
- A few notes about living/working/studying in the UK
- A few notes about living/working/studding in France
|
|
Hot links |
|
My collection of misc IT links
European Network of Excellence on High-Performance Embedded Architecture and Compilation (HiPEAC)
WWW Computer Architecture Page (Conferences)
Brad Calder list of upcoming conferences
http://www.cag.lcs.mit.edu/calendar
Tech Web
|
|
 |
|
|
|
 |
|