Research and actions

Collaborative research activites
  • Practical iterative and machine-learning compilation in a production compiler.
    • Contacts: Grigori Fursin, INRIA Saclay; Bilha Mendelson, IBM Haifa.
    • See GCC-ICI.
  • Extend the SSA-based internal representation to support non-scalar data-flow.
    • Contact: Albert Cohen, INRIA Saclay.
    • Proposals: array SSA, gated SSA, data-flow streams, synchronous clocks, polyhedral model.
  • Compiler support for Transactional Memory (TM).
    • Support optimistic concurrency for parallel programming in GCC.
    • Wiki page for design and implementation discussions.
    • Draft proposal and slides.
    • Relevant papers on compiler optimizations at PLDI'06 and CGO'07, and on integration with OpenMP in GCC at PACT'07.
    • Contacts: Osman Unsal, UPC/BSC; Avi Mendelson, Intel Haifa; Albert Cohen, INRIA Saclay.
  • Support whole-program and link-time optimization on a high-level representation.
    • Contacts: Ayal Zaks, IBM Haifa; Paul Kelly, Imperial College.
  • Design and implement a portable performance model for the multi-core era.
    • Contacts: Basilio Fraguela, U. A Coruña; Mike O'Boyle, U. Edinburgh.
  • Instruction set customization and online configuration of the machine description.
    • Contacts: Phil Barnard, ARC; Mike O'Boyle, U. Edinburgh.
  • Metaprogramming support for active libraries.
    • Contact: Paul Kelly, Imperial College.
    • A.k.a. library generators, i.e., ATLAS, FFTW, SPIRAL, etc.
Development and transfer actions
  • GCC as a common research platform: animation and training.
    • Upcoming SSA seminar, April 2009. See the attached presentation: Fabrice Rastello.
    • 1st GREPS workshop (with PACT'07): Ayal Zaks, Albert Cohen.
    • 2nd GREPS workshop (with HiPEAC'09): Paul Kelly, Imperial College; Sebastian Pop, AMD Austin.
    • HiPEAC GCC Tutorials (2006/05, 2007/01).
    • ACACES summer school (Ayal Zaks 2005/07, Albert Cohen 2006/07); material on the GCC Wiki.
    • Contact: Albert Cohen, INRIA Saclay.
  • Build an API to plug research tools into GCC.
    • Contact: Grigori Fursin, INRIA Saclay.
  • GIMPLE type system: defer lowering of abstract data structures.
    • Contact: Paul Kelly, Imperial College.
    • Support virtual vectors (Fortran90, SIMD), layout optimizations, whole-program and link-time optimization.
    • See GCC mailing list (GIMPLE types, LTO, Kenneth Zadeck).
  • Single-source, multi-ISA compilation.
    • Contact: Albert Cohen, Xavier Martorell, Ayal Zaks, Bilha Mendelson.
    • Ask for Cupertino Miranda's single-source cell GCC patch.
    • See also Intel's EXO-CHI (based on OpenMP).
  • Improve GCC baseline performance: some priorities in alias analysis, competitive back-end (VLIW-friendly).
    • Contact: Harm Munk, NXP Eindhoven.
  • Copyright and GPL issues.
    • Most important: copyright transfer to the Free Software Foundation.
    • Contact: Harm Munk, NXP Eindhoven.
  • Interactions with the greater GCC community.
    • GCC Summit.
    • Research, development, coordination and training in the US, Canada, Russia, India...
    • Contact: Ayal Zaks, IBM Haifa.
  • Contributions to the HiPEAC² roadmap. A roadmap HOWTO and a roadmap draft contribution page are available.
    • Cluster delegate: Albert Cohen, INRIA Saclay.
  • Use GCC as a powerful dissemination vehicle of HiPEAC compiler research.
    • Contact: everybody! Please advocate, contribute and publish, for the benefits of all.
AttachmentSize
PLDI06.pdf201.95 KB
CGO07.pdf370.25 KB
PACT07.pdf317.98 KB
tm_gcc.hipeac.pdf55.51 KB
tm_gcc.hipeac.slides.pdf130.11 KB
SSA_seminar_proposal.pdf38.65 KB