Senior Research Scientist at INRIA and cTuning founder.
- 2012-2016: Recipient of INRIA award and fellowship for "making an outstanding contribution to research" for the novel concept of crowdsourcing analysis, modeling, design and auto-tuning of computer systems (cTuning.org and Collective Mind) that enabled world's first machine learning based self-tuning compiler (MILEPOST GCC) and initiated new publication model where experimental results are continuously shared, validated, systematized, and extended by the community.
- 2010-2011: On industrial leave to help establish new Intel Exascale Lab in France and serving as the head of application characterization and optimization group (unifying and systematizing co-design and tuning of exascale systems using crowdsourcing, data mining and predictive modeling).
|Main interests and expertise:
- compilation and computer architecture
- cooperative multi-objective optimization and dynamic adaptation using statistical analysis, machine learning and crowdsourcing
- collective (collaborative) data mining and knowledge discovery
- biologically-inspired systems; AI; physics; electronics
||PhD with ORS award from the University of Edinburgh, UK (computer science);
MS and BS cum laude from MIPT, Russia (physics, electronics, computer engineering)
||firstname.lastname@example.org or gfursin@cTuning.org
Quick access: [ Publications / Presentations / Event organization], [ Developments ], [ Teaching ]
Grigori Fursin is a Russian-British computer scientist, software developer and entrepreneur with more than 20 years of R&D experience and with an interdisciplinary background in physics, electronics, machine learning and computer science. He obtained BS and MS cum laude from Moscow Institute of Physics and Technology (Russia), PhD with ORS award from the University of Edinburgh (UK), and is currently a permanent research scientist at INRIA Saclay (France). Originally Grigori started research on semiconductor neural computers and brain simulation, and in 1998 had to switch to computer engineering to speed up his simulation software and make it more power efficient. Since then, he pioneered collaborative analysis and optimization of computer systems using combination of crowdsourcing, predictive modeling, data mining, adaptive exploration, online tuning and other interdisciplinary techniques.
These techniques eventually became mainstream and enabled open-source machine learning based self-tuning compiler (MILEPOST GCC) and collaborative auto-tuning framework combined with the public repository of knowledge (cTuning.org) considered by IBM to be the first in the world (press-release); dramatically improved time to market and return on investment during co-design of reconfigurable embedded systems for ARC (Synopsys); initiated new publication model in computer engineering that favors reproducible research collaboratively validated by the community; were published in major conferences and journals including TACO, PLDI, CGO, MICRO, CASES and HiPEAC while releasing all tools, dataset, benchmarks and models for reproducibility GCC Summit'09, ACM TACO'10, CPE'04, CPC'01, PhD thesis, LCPC'02, IJPP'11, SMART'09, CGO'06, HiPEAC'05, HiPEAC'09; used and extended in industry by ARM, IBM, Synopsys, CAPS, Intel and other companies, and included in the EU HiPEAC IT research vision for 2012-2020.
Grigori delivered more than 50 regular and invited talks and keynotes in major international companies and universities in EU, USA, China, Canada, Russia and Taiwan; founded SMART and ADAPT workshops that ran consecutively for 8 years sponsored by Google, NVidia, Intel, CAPS and Microsoft; prepared and tought MS course in Paris South University; served on multiple PC including CGO, CC, IPDPS, CASES, HiPEAC and ACM TACO. In 1992, at the age of 15, Grigori created his first start-up developing and selling his software for automation of financial reporting in companies. Nearly 20 years later he again moved back to industry and in 2010-2011 was on industrial leave from INRIA invited to help establish Intel/CEA Exascale Lab in France from scratch while serving as the head of program optimization and characterization group. In 2012, Grigori rejoined INRIA where he received a 4-year fellowship for "making an outstanding contribution to research" to consolidate his past R&D within the new Collective Mind infrastructure and repository (combination of "big data", "data mining", "collective intelligence" and "web of science") to collaboratively address multiple challenges on our way towards exascale computing and to continue innovation in embedded devices.
Current research focus
- Continue preparing and promoting new publication model in computer engineering to validate experimental results by the community.
- Consolidate all my past research and developments for HDR
- Systematize and automate code and architecture co-design and optimization within Collective Tuning Center based on multidisciplinary approaches including empirical tuning, machine learning, statistical analysis, and multi-user collective participation
- Develop adaptive self-tuning computer systems to automatically balance performance, size, power and reliability, reduce time-to-market, development cost and improve return on investment particularly for the future Exascale systems
- Transfer my knowledge to industry through consulting or creation of collaborative laboratories
- 07/2004: Ph.D. in computer science from the University of Edinburgh, UK with ORS award (title: "Iterative Compilation and Performance Prediction for Numerical Applications", advisor: Prof. Michael O’Boyle, examination board: Prof. Francois Bodin and Dr. Marcelo Cintra)
- 06/1999: M.S. in computer engineering from Moscow Institute of Physics and Technology, Russia with highest honors (title: "Unifying remote access to high-performance computing systems through the Web")
- 06/1997: B.S. in physics and electronics from Moscow Institute of Physics and Technology, Russia with highest honors (interdisciplinary courses in physics, electronics, mathematics, statistics, machine learning, biology and computer science)
- 09/2011 - cur.: Senior research scientist (CR1) at INRIA Saclay, France with an award and 4-year fellowship for "making an outstanding contribution to research".
- 03/2010 - 08/2011: Head of the application characterization group and director of research at Intel Exascale Lab, France (on industrial sabbatical from INRIA invited by Intel to help establish new Exascale Lab in France based on cTuning technology)
- 09/2007 - 02/2010: Tenured research scientist at INRIA Saclay, France
- 12/2005 - 08/2007: Postdoctoral researcher at INRIA Futurs and Paris South University, France
- 10/2004 - 11/2005: Visiting researcher at INRIA Futurs and Paris South University, France
- 01/2002 - 11/2005: Research associate at the University of Edinburgh, UK
- 02/2000 - 03/2000: Visiting researcher at Paris South University, France
- 02/1999 - 12/2001: Research assistant at the University of Edinburgh, UK
- 09/1997 - 01/1999: Research assistant at the Institute for High-Performance Computing of the Russian Academy of Sciences, Russia
- 01/1994 - 06/1994: Research assistant at Moscow Institute of Physics and Technology, Russia
Major research achievements
- 2010 - 2011: helped to establish new Exascale Lab in France based on my past research and developments to enable Exascale systems by 2018
- 2009 - 2010: participated in the preparation of the EU HiPEAC 2012-2020 research vision on future computer systems that also included most of my past research directions
- 2006 - 2009: prepared theoretical foundations and designed world’s first machine learning enabled, self-tuning compiler (MILEPOST GCC / cTuning CC) that can automatically adapt its optimization heuristic to any underlying reconfigurable architecture, and developed community-based Collective Tuning Center (cTuning.org) with unified collaborative optimization repository, web-services, tools, benchmarks and datasets. When enough optimization information is collected in the repository, it can be extrapolated to predict better optimizations for new programs and architectures using statistical, collective and machine learning techniques (announced in world-wide IBM’s press-release; released as MILEPOST GCC and cTuning CC; available in mainline GCC and is used in academia and industry including IBM, Synopsys, CAPS; reference publications: FKMP2011, FT2010, MCFP2010, YYLP2010, DJBP2009, Fur2009, TOFP2009, CFAP2007, FC2007, FCOP2007, ABCP2006, FOTP2005, FOK2002; more info)
- 2005 - 2010: developed a concept to considerably speed up program optimization and compiler tuning through collective optimization where exploration and learning is transparently distributed among multiple users (released within Collective Tuning Center and MILEPOST GCC; reference publications: FT2010, Fur2009, FCOP2005);
developed a concept to characterize programs and architectures through reactions to optimizations to predict better optimizations or hardware designs (reference publications: FT2010, DCFP2007);
- 2005 - 2010: developed many practical techniques to automate program and architecture co-design and multi-objective optimization; compiler design and tuning for reconfigurable architectures; run-time adaptation; predictive scheduling for heterogeneous CPU/GPU architectures using empirical, statistical, polyhedral, collective and machine learning techniques (predictive modeling, active learning, decision trees) based on my interdisciplinary background (reused in MILEPOST project and http://cTuning.org)
- 2004 - 2006: developed a concept to enable run-time adaptation for statically compiled programs through code cloning and reaction to dynamic program, environment and architecture behavior (released as UNIDAPT framework, partially implemented in GCC and supported by Google; reference publications: FCOP2005,FT2010; more info)
- 2003 - 2006: developed a concept of the Interactive Compilation Interface to open up production compilers though light-weight event-based plugin framework to transform them into powerful interactive research toolsets (available in mainline GCC; reference publications: FKMP2011, FC2007, FCOP2005)
- 1999 - 2004: developed an unconventional approach to treat computer programs, compiler, run-time systems and architectures as physical systems to be able to apply empirical, statistical and machine learning techniques for automatically analysis and optimization of their performance (now mainstream technology; reference publications: FOK2002, Fur2004, FCOP2005, FKMP2011);
developed a concept for program and architecture characterization through reactions to semantically non-equivalent changes (used and extended in industry; reference publications: FOTP2001, FOPT2004, Fur2004; more info)
- 1998 - 1999: developed a concept to access resources of parallel high-performance computer systems through Internet web-services (extended these ideas in my research on collective optimization)
- 1993 - 1997: started parallelization and optimization of my neural network modeling software using random search strategies and participation of multiple users through the Internet to better adapt to a given architecture (extended these ideas in my PhD proposal and later research on empirical program optimization using statistical techniques and machine learning)
- More details about my research from the UNIDAPT group website.
- I am quite sad about current situation in academic and industrial research where it is often impossible to reproduce results of publications. Hence, I spend considerable amount of time to implement and release all my techniques in open-source and production tools:
- 2006 - 2009: designed and released world’s first machine learning enabled, self-tuning, adaptive compiler (MILEPOST GCC / cTuning CC), (announced in world-wide IBM’s press-release; http://cTuning.org/ctuning-cc);
developed Collective Tuning Center to collect optimization cases from the community, train MILEPOST GCC, predict better optimizations or designs and improve reproducibility of research (announced in world-wide IBM’s press-release; http://cTuning.org)
- 2004 - 2006: developed and released UNIDAPT framework to enable dynamic adaptation for statically compiled programs (partially available in mainline GCC, http://cTuning.org/unidapt)
- 2005 - 2009: developed collaborative benchmarks and datasets (cBench) for systematic program and architecture characterization and optimization as well as training for MILEPOST GCC
- 2004 - 2009: developed Continuous Collective Compilation Framework (CCC) for automatic code and architecture tuning and sharing of optimization data in cTuning repository to train MILEPOST GCC
- 2003 - 2006: developed and released Interactive Compilation Interface (ICI) for Open64, PathScale and GCC to transform production compilers into interactive research toolsets (available in mainline GCC, http://cTuning.org/ici)
- 1999 - 2003: developed Edinburgh Optimizing Software to treat programs, compilers and architectures as physical systems for empirical optimization and analysis through reactions to transformations
- 1998 - 1999: developed a unified interface to access parallel high-performance computer systems through Internet to distribute and speed up my neural network modeling software
- 1993 - 1997: developed semiconductor neural network combined with software modeling to improve character recognition
- List of current cTuning developments.
- Archive of all my past developments.
- Since most of my approaches to code and architecture co-design and optimization are mostly non-traditional and interdisciplinary based on physics, biology, statistics, machine learning and collective participation of users, it usually takes a while before this technology is accepted by academia and industry. Nevertheless, I am very happy that most of my concepts, techniques and tools have been eventually accepted and referenced in conferences/journals such as PLDI, MICRO, CGO, CASES, HiPEAC, IJPP, TACO, and in world-wide press-releases from IBM.
- All publications, presentations and other dissemination activities.
General interests and expertise
- systematization and automation of code and architecture design and optimization
- non-traditional interdisciplinary approaches to design of computer systems
- self-tuning adaptive computer systems
- adaptive compilers, programs, architectures and run-time systems
- automatic tuning of computer systems to improve performance, reliability while reducing power consumption, size and contentions
- automatic improvement in development cost, time to market and return of investment for new computer systems
- cloud computing, data centers, embedded architectures, supercomputers
- collaborative repositories and tools for design and optimization of computer systems
- reproducible and collaborative research
- machine learning and artificial intelligence
- automatic classification, predictive modeling, active learning
- brain understanding and modeling
- bio-inspired design of computer systems
- emerging information technologies
- knowledge transfer to industry, consulting and startups
- 2011: Preparing future research directions in IT (related to GPGPU, programming models, performance and power tuning) for collaborative funding within FP7 EU-Russia program
- 2011: Reviewing research proposals for the open grant competition of the Russian Federation to attract leading scientists to Russian universities with a total budget of around 300,000,000 euros
- 2009: Preparing and reviewing EU HiPEAC 2012-2020 research roadmap about future computer systems included my technology on run-time adaptation and machine learning (http://www.hipeac.net/roadmap)
Awards and distinctions
- 2012: INRIA award and 4-year fellowship for "making an outstanding contribution to research".
- 2005 - cur.: Several best paper awards
- 2005 - 2006: EU HiPEAC postdoctoral fellowship
- 2000 - 2001: International Overseas Research Student Award at the University of Edinburgh, UK
- 1999: M.S. with highest honours and golden medal from Moscow Institute of Physics and Technology, Russia
- 1997: B.S. with highest honours from Moscow Institute of Physics and Technology, Russia
- 1996 - 1998: International George Soros Award and Fellowships
- I am very grateful to European Commission, HiPEAC, Intel, Google, University of Edinburgh, ICT, UVSQ and INRIA for generously funding my research since undergraduate years:
- Since 2003, I regularly give talks about my research on self-tuning computer systems at various companies, universities, laboratories and organizations including:
- ARM, EPCC, Oxford University
- IBM TJ Watson Lab, USA; IBM Toronto Lab, Canada; IBM Haifa Lab, Israel;
- Intel USA; Intel Russia; Reservoir Labs, USA;
- University of Illinois at Urbana Champagne, USA; Imperial College, UK;
- Institute of Computing Technology of Chinese Academy of Sciences;
- Institute for System Programming of Russian Academy of Sciences;
- Paris South University, INRIA, CNRS, UVSQ, France;
- European Commission (Information and Brokerage Conference on Information and Communication Technologies presenting advances in research on machine learning for code and architecture optimization)
- All presentations.
- INRIA, France; University of Edinburgh, UK; ICT, China; UPC, Spain; UIUC, USA; University of Paris South, France; Université de Versailles-Saint-Quentin-en-Yvelines, France; Ghent University, Belgium; Imperial College, UK; Leiden University, Netherlands
- Though I primarily focus on a very long-term research for the future computer systems, I am also interested in transferring my ideas to industry. However, since my approaches to code and architecture co-design and optimization are mostly non-traditional and interdisciplinary based on physics, biology, statistics, machine learning and collective participation of users, it usually takes a while before this technology is accepted by industry. Nevertheless, I truly believe in my long-term research vision and very determined, I am never discouraged and spend considerable effort to popularize my techniques through publications, open-source tools and invited talks. I am very happy that now most of my techniques and tools are actively used and extended in companies including IBM, Intel, ARC (now Synopsys), Google.
- 2010 - 2011: Invited to establish new Intel Exascale Lab in France and create a group on application characterization based on my past research and developments.
- 2005 - 2009: Moved my research on code and architecture co-design and optimization based on empirical tuning for multiple objectives (performance, size, compilation time, etc) combined with statistical, collective and machine learning techniques to production compilers including Open64, PathScale and GCC within MILEPOST project and within community-driven Collective Tuning Center (http://cTuning.org). This technology is used by various companies and universities world-wide including IBM, CAPS Enterprise and Synopsys.
- 2009: Moved Interactive Compilation Interface to mainline GCC (collaboration with IBM, Google and HiPEAC);
- Partially moved UNIDAPT framework to GCC (collaboration with ICT, China and funded by Google Summer of Code program).
- 2013: 3rd International ADAPT workshop on Adaptive Self-Tuning Computing Systems, co-located with HiPEAC 2013 (collaboration with Christophe Dubach from the University of Edinburgh, UK)
- 2011 - 2012: International ACM EXADAPT workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era (exadapt.org), co-located with FCRC/PLDI 2011, ASPLOS 2012 (collaboration with Robert Hundt from Google, Yuriy Kashnikov from Intel Exascale Lab and Jason Mars from the University of Virginia)
- 2011: BOF on collaboratively mining rich information to prepare the Exascale challenges, co-located with SuperComputing 2011 (collaboration with Intel)
- 2010: Speedup-Test tutorial on statistical methodology to evaluate program speedups and their optimization techniques to improve quality and reproducibility of academic research (collaboration with UVSQ)
- 2010: International Workshop on GCC Research Opportunities, co-located with HiPEAC 2010 (collaboration with IBM)
- 2009: Tutorial on cTuning tools and techniques at HiPEAC Computing Week at Infineon
- 2007: International GCC tutorial, co-located with HiPEAC 2007 (collaboration with IBM, STMicroelectronics, RedHat)
- 2007 - cur: International SMART workshop series on Statistical and Machine Learning Approaches applied to Architectures and Compilation, co-located with HiPEAC 2007-2010, CGO 2011
- 2001: CPC 2001
- 2013: EXADAPT 2013 workshop co-chair at HiPEAC 2013
- 2011: Session chair on dynamic optimization at CGO 2011
- 2011: EXADAPT 2011 workshop co-chair at FCRC/PLDI 2011
- 2010: GROW 2010 workshop co-chair at HiPEAC 2010
- 2007: SMART 2007 workshop co-chair at HiPEAC 2007
Participating in program committees
- IPDPS 2013; CC 2013; MuCoCoS 2012; HiPEAC/ACM TACO 2012; CGO 2011; EXADAPT 2011; ICPADS 2009; iWAPT 2009; GROW 2009-2011; IPDPS 2008; CASES 2007; SMART 2007-2011
- 2012: ACM TACO/HiPEAC 2012 (member of the board of distinguished reviewers)
- 2011: Research proposals for the open grant competition of the Russian Federation to attract leading scientists to Russian universities with a total budget of around 300,000,000 euros (invited international expert)
- 2010: EU HiPEAC 2012-2020 research vision
- 2009: Springer-Verlag book on auto-tuning techniques
- 2000 - cur.: ACM TACO, CGO, HiPEAC, PACT, TPDS, CASES, ICS, DATES, CPE, MASCOTS, CPC, CC, IJHPSA, ICPADS, JPDC, CLSS, iWAPT, Open64, SMART, GROW
- From 2005 I started lecturing at Paris South University about my research on code and architecture co-design and optimization using empirical, statistical, machine learning and adaptive techniques. Eventually, in 2008-2009, I was appointed as an organizer of the MS course on "Future Computing Systems" at Paris South University, France with a focus on future adaptive self-tuning computing systems. I temporally stopped it during my industrial sabbatical at Intel Exascale Lab in 2010-2011, but I plan to resume it soon. You can find more info about my teaching activities at this page.
- 2005-2010: part-time lecturer and organizer of the M2R course on "Future Computing Systems" at Paris South University, France
- 2013: By the mid/end of 2013 I plan to finish preparing new on-line lectures on Collective Mind Technology and Crowdsourcing auto-tuning, and plan to continue part-time lecturing in English outside France - if your organization/university is interested, please get in touch!
- NOTE: in 2013 I do not plan to take new students or interns since I am only focusing on consolidating all my past research and on releasing new cM framework!
- I am very thankful to all great people I met during my R&D life for interesting and sometimes tough research discussions, feedback and collaboration.