From UNIDAPT.org
Here you can find some of our publications, presentations and organized events. If you would like to collaborate with us to arrange some related events, visit us to give a talk about your research activitires or invite our members visit your place, please feel free to contact us.
Contents |
Publications
- [FKMP2011] Grigori Fursin, Yuriy Kashnikov, Abdul Wahid Memon, Zbigniew Chamski, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Bilha Mendelson, Ayal Zaks, Eric Courtois, Francois Bodin, Phil Barnard, Elton Ashton, Edwin Bonilla, John Thomson, Chris Williams, Michael O'Boyle. MILEPOST GCC: machine learning enabled self-tuning compiler.
To appear in the International Journal of Parallel Programming (IJPP)
Concept is included in the HiPEAC 2012-2020 research roadmap.
[bib] [Springer Online First final version] [author's pdf]
- [FHMP2011] Grigori Fursin, Robert Hundt, Jason Mars, Yuriy Kashnikov. Introducing ACM SIGPLAN International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era (http://exadapt.org).
ACM International Conference Proceeding Series, co-located with PLDI, June 2011, San Jose, USA
[ACM DL online version]
- [FT2010] Grigori Fursin and Olivier Temam. Collective Optimization: A Practical Collaborative Approach.
ACM Transactions on Architecture and Code Optimization (TACO), December 2010, Volume 7, Number 4, pages 20-49
Concept is included in the HiPEAC 2012-2020 research roadmap.
[bib] [ACM DL final version] [author's pdf]
- [MCFP2010] Mircea Namolaru, Albert Cohen, Grigori Fursin, Ayal Zaks and Ari Freund. Practical Aggregation of Semantical Program Properties for Machine Learning Based Optimization.
Proceedings of the International Conference on Compilers, Architecture, And Synthesis For Embedded Systems (CASES 2010), October 2010, Scottsdale, AZ, USA
[bib] [pdf]
- [YYLP2010] Yang Chen, Yuanjie Huang, Lieven Eeckhout, Grigori Fursin, Liang Peng, Olivier Temam, Chengyong Wu. Evaluating Iterative Optimization across 1000 Data Sets.
Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI 2010), June 2010, Toronto, Canada (acceptance rate: 20%, 41/204)
HiPEAC paper award.
[bib] [pdf]
- [HPWP2010] Yuanjie Huang, Liang Peng, Chengyong Wu, Yuriy Kashnikov, Jörn Renneke, and Grigori Fursin. Transforming GCC into a research-friendly environment: plugins for optimization tuning and reordering, function cloning and program instrumentation.
2nd International Workshop on GCC Research Opportunities (GROW’10) co-located with HiPEAC'10, Pisa, Italy, January 2010 (acceptance rate: 57%, 8/14)
[bib] [pdf] [pdf backup]
- [FT2009] Grigori Fursin and Olivier Temam. Collective optimization.
Proceedings of the International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2009), Paphos, Cyprus, January 2009 (acceptance rate: 28%, 27/97)
Extended version is now published in ACM TACO (FT2010).
[bib] [pdf]
- [DJBP2009] Christophe Dubach, Timothy M. Jones, Edwin V. Bonilla, Grigori Fursin, and Michael F.P. O'Boyle. Portable Compiler Optimization Across Embedded Programs and Microarchitectures using Machine Learning.
Proceedings of the IEEE/ACM International Symposium on Microarchitecture (MICRO), New York, USA, December 2009 (acceptance rate: 25%, 52/209)
HiPEAC paper award.
Christophe Dubach received BCS/CPHC Distinguished Dissertation Award’09 for his related thesis "Using Machine-Learning to Efficiently Explore the Architecture/Compiler Co-Design Space" supervised by Prof. Michael O'Boyle.
[bib] [pdf]
- [Fur2009] Grigori Fursin. Collective Tuning Initiative: automating and accelerating development and optimization of computing systems.
Proceedings of the GCC Summit'09, Montreal, Canada, June 2009
This paper introduces collective tuning infrastructure (http://cTuning.org) and repository (http://cTuning.org/cdatabase) to start continuous parameterization of all computing systems and to automate, simplify and systematize code and architecture design, characterization and optimization. Collecting enough data about various architectures, compilers, programs, benchmarks, kernels and datasets will help to quickly predict better program optimizations or architecture designs using machine learning techniques thus considerably reducing time to market and enabling self-tuning, adaptive computing systems.
[bib] [pdf] [pdf backup]
- [TOFP2009] John Thomson, Michael O'Boyle, Grigori Fursin and Bjoern Franke. Reducing Training Time in a One-shot Machine Learning-based Compiler.
Proceedings of the 22nd International Workshop on Languages and Compilers for Parallel Computing (LCPC'09), Newark, Delaware, USA, October 2009
[bib] [pdf]
- [LCWP2009] Lianjie Luo, Yang Chen, Chengyong Wu, Shun Long and Grigori Fursin. Finding representative sets of optimizations for adaptive multiversioning applications.
3rd International Workshop on Statistical and Machine Learning Approaches Applied to Architectures and Compilation (SMART'09) co-located with HiPEAC'09, Paphos, Cyprus, January 2009 (acceptance rate=62%, 8/13)
[bib] [pdf] [pdf backup] [presentation]
- [JGVP2009] Victor Jimenez, Isaac Gelado, Lluis Vilanova, Marisa Gil, Grigori Fursin and Nacho Navarro. Predictive runtime code scheduling for heterogeneous architectures.
Proceedings of the International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2009), Paphos, Cyprus, January 2009 (acceptance rate: 28%, 27/97)
Grigori Fursin obtained a HiPEAC collaborative grant to develop this technique with Victor Jimenez.
Similar approaches for gluing/adapting applications for heterogeneous architectures are used in Intel’s Qilin and in CAPS Entreprise’s HMPP.
[bib] [pdf] [presentation]
- [LF2009] Shun Long and Grigori Fursin. Systematic search within an optimisation space based on Unified Transformation Framework.
International Journal of Computational Science and Engineering (IJCSE), Vol.4, No.2, pages 102-111, 2009 (submitted in 2005)
[bib] [pdf]
- [FMTP2008] Grigori Fursin, Cupertino Miranda, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Ayal Zaks, Bilha Mendelson, Phil Barnard, Elton Ashton, Eric Courtois, Francois Bodin, Edwin Bonilla, John Thomson, Hugh Leather, Chris Williams, Michael O'Boyle. MILEPOST GCC: machine learning based research compiler.
Proceedings of the GCC Developers' Summit, Ottawa, Canada, June 2008
Extended version is now published in IJPP (FKMP2011).
[bib] [pdf] [pdf backup]
- [DFGP2007] Veerle Desmet, Grigori Fursin, Sylvain Girbal and Olivier Temam. Leveraging Modular Simulation for Systematic Design Space Exploration.
4th HiPEAC Industrial Workshop on Compilers and Architectures organized by ARM Ltd., Cambridge, UK, November 2007
[bib]
- [LCFP2007] Piotr Lesnicki, Albert Cohen, Grigori Fursin, Marco Cornero, Andrea Ornstein and Erven Rohou. Split Compilation: an Application to Just-in-Time Vectorization.
International Workshop on GCC for Research in Embedded and Parallel Systems (GREPS'07) in conjunction with PACT'07, Brasov, Romania, September 2007
[bib] [pdf] [pdf backup]
- [LFF2007] Shun Long, Grigori Fursin, Bjцrn Franke. A Cost-Aware Parallel Workload Allocation Approach based on Machine Learning Techniques.
Proceedings of the IFIP International Conference on Network and Parallel Computing (NPC 2007), LNCS-4672, pages 506-515, Dalian, China, September 2007
[bib] [pdf]
- [FMPP2007] Grigori Fursin, Cupertino Miranda, Sebastian Pop, Albert Cohen and Olivier Temam. Practical Run-time Adaptation with Procedure Cloning to Enable Continuous Collective Compilation.
Proceedings of the GCC Developers' Summit, Ottawa, Canada, July 2007
[bib] [pdf]
- [DCFP2007] Christophe Dubach, John Cavazos, Bjorn Franke, Grigori Fursin, Michael O'Boyle and Oliver Temam. Enabling fast compiler optimization evaluation via code-features based performance predictor.
Proceedings of the ACM International Conference on Computing Frontiers, Ischia, Italy, May 2007 (acceptance rate=50%,28/56)
[bib] [pdf]
- [CFAP2007] John Cavazos, Grigori Fursin, Felix Agakov, Edwin Bonilla, Michael F.P.O'Boyle and Olivier Temam. Rapidly Selecting Good Compiler Optimizations using Performance Counters.
Proceedings of the 5th Annual International Symposium on Code Generation and Optimization (CGO), San Jose, USA, March 2007
[bib] [pdf]
- [FC2007] Grigori Fursin and Albert Cohen. Building a Practical Iterative Interactive Compiler.
1st International Workshop on Statistical and Machine Learning Approaches Applied to Architectures and Compilation (SMART'07) co-located with HiPEAC'07, Ghent, Belgium, January 2007 (acceptance rate=58%, 7/12)
More info is now available in the extended version published in IJPP (FKMP2011).
[bib] [pdf]
- [FCOP2007] Grigori Fursin, John Cavazos, Michael O'Boyle and Olivier Temam. MiDataSets: Creating The Conditions For A More Realistic Evaluation of Iterative Optimization.
Proceedings of the International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2007), Ghent, Belgium, January 2007 (acceptance rate=29%)
[bib] [pdf]
- [FCOP2006] Grigori Fursin, Albert Cohen, Michael O'Boyle and Oliver Temam. Quick and practical run-time evaluation of multiple program optimizations.
Transactions on High-Performance Embedded Architectures and Compilers, 1(1), pages 13-31, 2006
[bib] [pdf] [pdf backup]
- [CDAP2006] John Cavazos, Christophe Dubach, Felix Agakov, Edwin Bonilla, Michael F.P. O'Boyle, Grigori Fursin and Olivier Temam. Automatic Performance Model Construction for the Fast Software Exploration of New Hardware Designs.
Proceedings of the International Conference on Compilers, Architecture, And Synthesis For Embedded Systems (CASES 2006), Seoul, Korea, October 2006 (acceptance rate=41%, 41/100)
finalist best paper award
[bib] [pdf]
- [ABCP2006] F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M.F.P. O'Boyle, J. Thomson, M. Toussaint and C.K.I. Williams. Using Machine Learning to Focus Iterative Optimization.
Proceedings of the 4th Annual International Symposium on Code Generation and Optimization (CGO), New York, NY, USA, March 2006 (acceptance rate=36%, 29/80)
See also our publication on MILEPOST GCC in IJPP (FKMP2011).
[bib] [pdf]
- [FCOP2005] Grigori Fursin, Albert Cohen, Michael O'Boyle and Oliver Temam. A Practical Method For Quickly Evaluating Program Optimizations.
Proceedings of the 1st International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2005), number 3793 in LNCS, pages 29-46, Barcelona, Spain, November 2005
highest ranked paper, acceptance rate=20%,17/84
This paper presents a novel concept to statically enable run-time optimizations and self-tuning binaries through function cloning and integrated low-overhead program/system behaviour monitoring routines. It has been referenced in patents and extended in academia and industry. For the first time, we utilized Interactive Compilation Interface for PathScale compiler with loop vectorization, tiling, unrolling, interchange, fission/fusion, pipelining, prefetching and array padding to make static self-tuning binaries that can automatically learn from the past experience and adapt/react to various environments, run-time behavior and contentions that is important to improve efficiency and cost of various HPC systems. Since 2007 it is being actively extended by Google Inc. for data centers (cloud computing).
Extensions for transparent collective optimization is available in our ACM TACO publication (FT2010).
[bib] [pdf] [pdf backup]
- [FOTP2005] B. Franke, M. O'Boyle, J. Thomson and G. Fursin. Probabilistic Source-Level Optimisation of Embedded Systems Software.
Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'05), pages 78-86, Chicago, IL, USA, June 2005 (acceptance rate=26%,25/95)
[bib] [pdf]
- [LF2005] Shun Long and Grigori Fursin. A heuristic search algorithm based on Unified Transformation Framework.
Proceedings of the 7th International Workshop on High Performance Scientific and Engineering Computing (HPSEC-05), pages 137-144, Oslo, Norway, June 2005
[bib] [pdf]
- [FOK2005] Grigori Fursin, Michael O'Boyle and Peter Knijnenburg. Evaluating Iterative Compilation. Lecture Notes in Computer Science, Volume 2481, pages 362-376, 2005
[bib] [Springer Online version] [author's pdf]
- [FUR2004] Grigori Fursin. Iterative Compilation and Performance Prediction for Numerical Applications.
Ph.D. thesis, University of Edinburgh, Edinburgh, UK, January 2004
Based on FOTP2001, FOK2002, FOTP2004.
In this thesis Grigori Fursin introduced a novel and simple approach to quickly detect realistic lower bound of the execution time of memory intensive applications by modifying individual assembler instructions including converting array accesses to scalars in various ways without preserving the semantics of the code while avoiding code crashing to be able to directly compare original and transformed programs. Grigori evaluated this technique on in-order Alpha and out-of-order Intel processors (and wrote own tools for assembler analsys, instrumentation and modification for a range of platforms) and a variety of small kernels and large SPEC applications, and showed that this technique can be effectively used to detect parts of a program which can benefit from memory optimizations (and avoid wasting time for long iterative or manual optimizations on a code that do not have any potential for further optimizations). Grigori also showed that focusing on code optimizations that reduce cache misses on out-of-order architecture using hardware counters can be totally misleading and my approach provides more realistic upper bound.
I also wrote my own source-to-source Fortran and C transformation tool and showed how to automate program optimization using empirical iterative compilation based on array padding, loop tiling and unrolling combined with random and hill-climbing search strategies that beat state-of-the-art commercial COMPAQ/HP and Intel compilers on various SPEC2000 benchmarks. All these techniques and tools have been actively used and extended in academia and industry as well as motivating development of various R&D tools.
[bib] [pdf] [pdf backup] [EOS software]
- [FOTP2004] Grigori Fursin, Mike O'Boyle, Olivier Temam, and Gregory Watts. Fast and Accurate Method for Determining a Lower Bound on Execution Time.
Concurrency Practice and Experience, 16(2-3), pages 271-292, 2004
[bib] [pdf]
- [FOK2002] G.G.Fursin, M.F.P.O'Boyle, and P.M.W. Knijnenburg. Evaluating Iterative Compilation.
Proceedings of the 15th Workshop on Languages and Compilers for Parallel Computing (LCPC'02), College Park, MD, USA, pages 305-315, 2002
This paper introduces a concept of empirical optimization (iterative compilation) of large applications to automatically adapt them to a given hardware using several basic search strategies. Our approach considerably outperformed state-of-art compilers on Intel, Alpha and several other popular architectures for several large SPEC applications. This technique has also laid the foundations for further research on focused optimizations using statistical techniques, machine learning and run-time adaptation.
[bib] [pdf]
- [FOTP2001] Grigori Fursin, Mike O'Boyle, Olivier Temam, and Gregory Watts. Fast and Accurate Method for Determining a Lower Bound on Execution Time.
Proceedings of the International Workshop on Compilers for Parallel Computers (CPC'01), pages 163-172, Edinburgh, 2001
[bib] [pdf]
Presentations
- Tobias Grosser (University of Passau, Germany, M.S. student). Polyhedral optimizations (Polly, LLVM, GCC).
presented at the University of Versailles, France, September 2010
- Kim Hazelwood (University of Virginia, Assistant Professor). A Case for Runtime Adaptation using Cross-Layer Approaches.
presented at the University of Versailles, France, June 2010
- David Meisner (University of Michigan, USA, PhD student, advisor: Prof. Thomas F. Wenisch). PowerNap: Eliminating Server Idle Power.
presented at the University of Versailles, France, February 2010
- Prof. Keith D.Cooper (Rice University, USA). Moving adaptation into individual optimizations
Keynote talk at SMART'10, Pisa, Italy, January 2010
- Grigori Fursin (INRIA, France). Collective Tuning Initiative
presented at the University of Versailles, France, May 2009
presented at the HiPEAC industrial workshop, HiPEAC clusters and HiPEAC review, Infineon, Munich, Germany, June 2009
presented at the GCC Summit'09, Montreal, Canada, June 2009
- Grigori Fursin (INRIA, France). Collective Tuning Initiative: collective optimization, run-time adaptation and machine learning
presented at University of Illinois at Urbana Champaign, USA, April 2009
[pdf]
- Cosmin Oancea (University of Cambridge, UK). Exploiting Implicit Parallelism -- A Dynamic Approach
presented at INRIA Saclay, France, February 2009
- Grigori Fursin (INRIA, France). Collective Optimization
presented at HiPEAC'09, Cyprus, January 2009
- Grigori Fursin (INRIA, France). Enabling Dynamic Optimization and Adaptation for Statically Compiled Programs Using Function Multi-versioning
presented at ScalPerf'08, Italy, September 2008
- Anton Lokhmotov (Imperial College, UK). Programming accelerated systems
presented at INRIA Saclay, France, May 2008
- Edwin Bonilla (University of Edinburgh, UK). Machine Learning for Compiler Optimization: Principles, Techniques and Challenges
presented at INRIA Saclay, France, March 2008
- Grigori Fursin (INRIA, France). Continuous Adaptive Program Optimizations
presented at Imperial College, London, UK, February 2008;
presented at the Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China, January 2008
- Grigori Fursin (INRIA, France). Machine learning techniques for program optimizations, run-time adaptation and design space exploration
presented at LRI, Paris South University, INRIA and CNRS, France, June 2007;
presented at Intel Compiler Group, Moscow, Russia, February 2007;
presented at the Institute for System Programming, Russian Academy of Sciences, Moscow, Russia, February 2007
- Grigori Fursin (INRIA, France). Continuous run-time adaptation and optimization of statically compiled programs
presented at the UPC, Barcelona, Spain, January 2007
[pdf]
- Grigori Fursin (INRIA, France). Continuous collective compilation
presented at the ICSA seminar, University of Edinburgh, UK, December 2006;
presented at the IBM Thomas J. Watson Research Center, Yorktown Heights, NY, USA, March 2006;
presented at the MilePost EC negotiation meeting, European Commission, Brussels, March 2006
Organizing workshops
- 2011.June = EXADAPT 2011: 1st International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era (co-located with PLDI 2011 and FCRC 2011) (collaboration with Robert Hundt from Google Inc.)
- 2011.April = SMART'11: 5th Workshop on Statistical and Machine learning approaches to ARchitecture and compilaTion (co-located with CGO'11, Chair Prof. Francois Bodin from CAPS Entreprise)
- 2010.January = SMART'10: 4th Workshop on Statistical and Machine learning approaches to ARchitecture and compilaTion (co-located with HiPEAC'10, Chair Prof. David Whalley) [ Program ], Keynote by Prof. Keith Cooper
- 2010.January = GROW'10: 2nd International Workshop on GCC Research Opportunities (co-located with HiPEAC'10) [ Program ]
- 2009.January = SMART'09: 3rd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (co-located with HiPEAC'09, Chair Prof. David Padua) [ Program ]
- 2008.January = SMART'08: 2nd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (co-located with HiPEAC'08) [ Program ]
- 2007.January = SMART'07: 1st Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (co-located with HiPEAC'07) [ Program ]
Lectures
- 2008-2009 = Future computing systems, postgraduate M2R course at LRI, Paris South University, France
- 2007-2008 = Continuous adaptive iterative compilation and machine learning techniques, part of postgraduate M2R course at LRI, Paris South University, France
- 2006-2007 = Continuous adaptive iterative compilation and machine learning techniques, part of postgraduate M2R course at LRI, Paris South University, France
- 2005-2006 = Adaptive and feedback driven compilation, part of postgraduate M2R course at LRI, Paris South University, France
Organizing tutorials
- 2009.June Grigori Fursin (INRIA, France). cTuning tools tutorial during HiPEAC computing week at Infineon, Munich, Germany.
- 2007.January Grigori Fursin (INRIA, France). 2nd HiPEAC GCC Tutorial (Interactive Compilation Interface and plugin system to transform GCC into research toolset), co-located with HiPEAC conference, Gent, Belgium.
Reviewing
- HiPEAC long-term research vision 2010 (writing and reviewing)
- Springer-Verlag book on autotuning techniques (on-going)
- CGO, PACT, TPDS, CASES, ICS, DATES, HiPEAC, CPC, IJHPSA, ICPADS, JPDC, CLSS, iWAPT, Open64, SMART, GROW
PC members; event organizers
2011
- ADAPT 2011 (at PLDI 2011/FCRC 2011): Organizer together with Robert Hundt from Google (ACM SIGPLAN 1st International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era)
- SMART 2011 (at CGO 2011): Organizer (5th Workshop on Statistical and Machine Learning Approaches applied to Architectures and Compilation, Chair: Prof. Francois Bodin)
- CGO'11: PC member (International Symposium on Code Generation and Optimization)
- GROW'11 (at CGO 2011): PC member (3rd International Workshop on GCC Research Opportunities)
2010
- GROW'10 (at HiPEAC 2010): co-organizer and editor of informal proceedings (2nd International Workshop on GCC Research Opportunities)
- SMART’10 (at HiPEAC 2010): co-organizer and editor of informal proceedings (4th Workshop on Statistical and Machine Learning Approaches applied to Architectures and Compilation, Chair: Prof. David Whalley, Keynote: Prof. Keith Cooper)
- Speedup-Test’10 tutorial (at HiPEAC 2010): co-organizer (Statistical Methodology to Evaluate Program Speedups and their Optimization Techniques)
2009
- iWAPT'09: PC member (International Workshop on Automatic Performance Tuning)
- ICPADS'09: PC member (International Conference on Parallel and Distributed Systems), multi-core architectures track
- Open64 Workshop (at CGO’09): PC member
- SMART’09 (at HiPEAC 2009): Organizer and PC member (3rd Workshop on Statistical and Machine Learning Approaches applied to Architectures and Compilation, Chair: [Prof. David Padua], Panel: Francois Bodin, Marcelo Cintra, Bilha Mendelson, Lawrence Rauchwerger, Per Stenstrom)
- GROW’09 (at HiPEAC 2009): PC member (1st International Workshop on GCC Research Opportunities)
- cTuning tools tutorial (at HiPEAC computing week at Infineon): organizer and presenter
2008
- IPDPS’08: PC member (IEEE International Parallel and Distributed Processing Symposium)
- SMART’08 (at HiPEAC 2008): PC member (2nd Workshop on Statistical and Machine Learning Approaches applied to Architectures and Compilation, Chair: Prof. Michael O'Boyle)
2007
- CASES’07: PC member (International Conference on Compilers, Architecture, and Synthesis for Embedded Systems)
- 2nd GCC Tutorial (at HiPEAC 2007): organizer and presenter ("Interactive Compilation Interface and plugin system to transform GCC into research toolset")
- SMART’07 (at HiPEAC 2007): chair and organizer (1st Workshop on Statistical and Machine Learning Approaches applied to Architectures and Compilation http://www.hipeac.net/smart-workshop.html).
In recent years, we have shown that machine learning and statistical search techniques can be effectively used to create and optimize production compilers (such as MILEPOST GCC) and architectures. Therefore, together with my colleagues, I decided to organize this workshop to promote new ideas and to present recent developments in compiler and architecture design using machine learning, statistical approaches, and search in order to enhance their performance, scalability, and adaptability.
2001
- CPC’01: local organizer (9th Workshop on Compilers for Parallel Computers)

