The PIPS Team
The PIPS project is currently developed and/or sponsored at/by the following organizations:
- MINES ParisTech/CRI (Fontainebleau, France)
- TELECOM SudParis (Evry, France)
Current contributors
- Corinne Ancourt (researcher at Mines ParisTech/CRI): static analysis, code synthesis, communication synthesis, code modelization (OpenGPU project), linear (PIPS proof engine)
- 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 (Silkan): responsible for memory effects analyses, array region analyses and array privatization in PIPS. I'm also interested in pointer and shape analyses and the integration of their results in effects and array regions analyses.
- Laurent Daverio (research engineer at Mines ParisTech/CRI): PIPS communication and WEB site, XML IO for Newgen
- Pierre Guillou (PhD student at MINES ParisTech)
- Rachid Habel (PhD Student at Telecom SudParis):
- 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 Silkan & associated researcher at TÉLÉCOM Bretagne) : CUDA code generation, controlizer, Par4All infrastructure...
- Nelson Lossing (PhD student at Mines ParisTech/CRI): semantic analysis
- Vivien Maisonneuve: linear algebra, automatic invariant generation, transitive closure
Noticeable past contributors are numerous:
If you think we overlooked someone, please let us know.
- Olivier Albiez
- Mehdi Amini (PhD student at MINES ParisTech/CRI & HPC Project) : induction variable substitution, use-def chains, dependence graph, Fortran 95 infrastructure, GPU code generation
- Bruno Baron: constant propagation
- Denis Barthou: modelization of the parallelization process for constraint programming
- Molka Becher (intern at MINES ParisTech/CRI): static modelization of the execution time and, possibly, some more memory effects of C intrinsics
- Pierre Berthomier
- Youcef Bouchebaba: locality improvement via tiling, scratchpad memory management
- Christopher D. Carothers (researcher at RPI, Rensselaer Polytechnic Institute) : automatic generation of anti-functions into event-driven simulators
- Éliott Coyac (TÉLÉCOM Bretagne internship): genetic algorithms for iterative compilation in PyPS
- Ramzi Darmoul (intern at Mines ParisTech/CRI): parallelization of signal processing code (Faust Language, ASTREE project)
- Son Pham Dinh
- Benoît Dupont De Dinechin: integration of Paul Feautrier's techniques in PIPS
- François Ferrand (2003-2004): SAC SIMD compilation
- Johan Gall (engineer student at TÉLÉCOM Bretagne & intern at KDDI R&D Labs, 2008-2010) : XML/Xpath interface to internal representation
- Matthieu Godet
- Sylvain Guérin
- 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)
- Christophe Guettier: automatic parallelization and code optimization via constraint programming for signal processing code
- Onil Goubier (HPC Project): Scilab to OpenMP & GPU compilation
- Adrien Guinet (TÉLÉCOM Bretagne internship): automatic AVX/NEON code generation in PyPS
- Dounia Khaldi (PhD student at Mines ParisTech/CRI): automatic task parallelization and mapping for shared and distributed memory machines
- Khadija Imadoueddine (ESILV student, HPC Project, Intel & Mines ParisTech/Geosciences) : Fortran 95 scientific code parallelization
- Davy Jin (Supelec Student): interface with R-Stream
- Prachi Kalra: complexity modelization
- Jean François Lascoutx (ESILV student, HPC Project & //Geometry, 2009-2010) : loop instrumentation, parallelization of rendering software
- Arnauld Leservot: extension of the Array dataFlow graph to the interprocedural case, union library in linear (Presburger arithmetic)
- Clément Marguet (ESILV student, HPC Project, 2010) : code generation for SCMP architecture
- Sebastien Martinez (intern at Telecom Bretagne)
- Amira Mensi (PhD student at MINES ParisTech/CRI): C pointer and shape analyses
- Akhil Meshram: memory allocation in C parser
- Alain Muller (PhD student at TELECOM SudParis): OpenMP to MPI compilation (STEP project)
- 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
- François-Xavier Pasquier (HPC Project): optimization phases
- Grégoire Payen de La Garanderie (TÉLÉCOM Bretagne internship): improvement of pyps interface
- 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
- Loïc Plassart
- Alexis Platonoff
- Raphaël Roosz (ESILV student, intern at HPC Project, 2009) : Fortran 95 parser, parallelization information
- Anh Trinh Quoc
- Frédérique Silber-Chaussumier (when she was a researcher at TELECOM SudParis): OpenMP to MPI compilation (STEP project)
- 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
- Maria Szymczak (Intern at MINES ParisTech/CRI): PIPS as a WEB service (window interface)
- Pierre Villalon (SIlkan): OpenMP generation, benchmarking
- 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
- Adarsh Yoga (University Bloomington, Indiana, MSc, HPC Project internship, 2010): compilation infrastructure scheme around PyPScc to insert PIPS into an existing build infrastructure
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 Polyhedral model). 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).
Some other institutions also contributed to PIPS:
- TELECOM Bretagne (Brest, France)
Document Actions