The PIPS Team
Over the years, many persons and organisations across all continents have contributed to the PIPS project. This page lists current and past contributors.
The PIPS project is currently developed and/or sponsored at/by the following organizations:
- MINES ParisTech/CRI (Fontainebleau, France)
- TELECOM Bretagne (Brest, France)
- TELECOM SudParis (Evry, France)
- HPC Project (Paris, France)
- RPI/CS (Rensselaer Polytechnic Institute)
Current contributors
- Mehdi Amini (PhD student at MINES ParisTech/CRI & HPC Project) : induction variable substitution, use-def chains, dependence graph, Fortran 95 infrastructure, GPU code generation
- Corinne Ancourt (researcher at Mines ParisTech/CRI): static analysis, code synthesis, communication synthesis, code modelization (OpenGPU project), linear (PIPS proof engine)
- Molka Becher (intern at MINES ParisTech/CRI): memory effects of C intrinsics
- Christopher D. Carothers (researcher at RPI, Rensselaer Polytechnic Institute) : automatic generation of anti-functions into event-driven simulators
- Fabien Coelho (researcher at Mines ParisTech/CRI): PIPS software development infrastructure, code generation and optimization for FPGA-based accelerator (FREIA project), PIPS database and resource management, HPF compiler
- Béatrice Creusillet (HPC Project): memory effects, array regiosn and pointer analysis
- Éliott Coyac (TÉLÉCOM Bretagne internship): genetic algorithms for iterative compilation in PyPS
- Grégoire Payen de La Garanderie (TÉLÉCOM Bretagne internship): improvment of pyps interface
- Ramzi Darmoul (intern at Mines ParisTech/CRI): parallelization of signal processing code (Faust Language, ASTREE project)
- Laurent Daverio (research engineer at Mines ParisTech/CRI): PIPS communication and WEB site, XML IO for Newgen
- Johan Gall (engineer student at TÉLÉCOM Bretagne & intern at KDDI R&D Labs) : XML/Xpath interface to internal representation
- Serge Guelton (PhD student at TÉLÉCOM Bretagne & Mines ParisTech/CRI) : Python binding, SIMD code generation, Ter@pix code generation, outlining/inlinig, genetic compilation (FREIA Project)
- Onil Goubier (HPC Project): Scilab to CUDA compilation
- Khadija Imadoueddine (ESILV student, HPC Project, Intel & Mines ParisTech/Geosciences) : Fortran 95 scientific code parallelization
- François Irigoin (PIPS team leader at Mines ParisTech/CRI): mostly interested in automatic program proof, but also responsible for PIPS parsers and interested in effect modelization, pointer and shape analsyes; dependence testing, code synthesis, tiling and locality improvement,... PhD student advisor: Amira, Mehdi, Serge and a few other ones; member of the FREIA and OpenGPU projects
- Pierre Jouvelot (researcher at Mines ParisTech/CRI): effect analyses, type systems, design and development of Newgen, real-time language for music (Astree project, Faust language)
- Ronan Keryell (Par4All leader at HPC Project & associated researcher at TÉLÉCOM Bretagne) : CUDA code generation, controlizer, Python and git evangelist in PIPS, Par4All infrastructure...
- Jean François Lascoutx (ESILV student, HPC Project & //Geometry) : loop instrumentation, parallelization of rendering software
- Clément Marguet (ESILV student, HPC Project) : code generation for SCMP architecture
- Amira Mensi (PhD student at Mines ParisTech/CRI): C pointer and shape analyses
- Alain Muller (PhD student at TELECOM SudParis): OpenMP to MPI compilation (STEP project)
-
Pragneshkumar Patel (LANL (US), HPC Project internship) : parallel-stage decoupled software pipelining
- Frédéric Perrin (TÉLÉCOM Bretagne internship): automatic SSE code generation in PyPS
- Raphaël Roosz (ESILV student, intern at HPC Project) : Fortran 95 parser, parallelization information
- Frédérique Silber-Chaussumier (researcher at TELECOM SudParis): OpenMP to MPI compilation (STEP project)
- Pierre Villalon (HPC Project): OpenMP generation, benchmarking
- Adarsh Yoga (University Bloomington, Indiana, MSc, HPC Project internship): compilation infrastructure scheme around PyPScc to insert PIPS into an existing build infrastructure
Noticeable past contributors are numerous:
If you think we overlooked someone, please let us know :-)
- Olivier Albiez
- Bruno Baron: constant propagation
- Denis Barthou: modelization of the parallelization process for constraint programming
- Pierre Berthomier
- Youcef Bouchebaba: locality improvement via tiling, scratchpad memory management
- Son Pham Dinh
- Benoît Dupont De Dinechin: integration of Paul Feautrier's techniques in PIPS
- François Ferrand
- Matthieu Godet
- Sylvain Guérin
- Christophe Guettier: automatic parallelization and code optimization via constraint programming for signal processing code
- Prachi Kalra: complexity modelization
- Arnauld Leservot: extension of the Array dataFlow graph to the interprocedural case, union library in linear (Presburger arithmetic)
- Akhil Meshram: memory allocation in C parser
- Nicolas Museux: automatic parallelization and code optimization via constraint programming for signal processing code
- Nga Nguyen: array bound checking, alias analysis, detection of uninitialized variables, program instrumentation combining static and dynamic analysis to reduce the overhead
- Guillaume Oget: tpips development
- Loïc Plassart
- Alexis Platonoff:
- Anh Trinh Quoc
- Rémi Triolet: interprocedural parallelization; Remi launched the PIPS project in 1988, starting with the Fortran parser and ending with the A&K parallelizaiton algorithm
- Nicky Williams-Preston: reverse engineering, code re-use
- Yi-qing Yang: dependence testing, dependence abstractions
- Lei Zhou: complexity modelization and estimation
- Julien Zory: optimization of expression evaluation
Other old collaborations
A team at CEA, led by Benoit de Dinechin, contributed several phases which implement techniques developed by Paul Feautrier (PRISM) for TMC CM-5 and Cray T-3D machines, as well as extensions of these techniques (see Polyhedric method). These external phases were easily blended within PIPS thanks to NewGen, which constraints the number of data structures used by programmers and provide a general framework for low-level classes (list, hash-table,...), and thanks to pipsmake which hides the intra- and inter-procedural chaining of analyses and transformations from the programmer as well as from the user.
Some other people contributed:
- expression optimization for superscalar and VLIW architectures (Julien Zory)
- analysis refinement to support automatic computation of module signatures (Olivier Albiez, Nicky Williams-Preston)
- new effective encodings of sets of integer to support signal processing application better (Oliver Albiez)
- compilation of signal processing specifications (Corinne Ancourt)
These objectives were defined with our industrial partners (CEA, EDF, SAGEM, Thomson-CSF, now Thales).

