Bio and Contact Informations
![]()
I'm assistant professor at Paris-Sud University, France, associated with the Alchemy Group, a research team on compilation and architecture of LRI and INRIA. I received the Ph.D. degree in computer science from Pierre & Marie Curie University, France, in 2004. My supervisor was Paul Feautrier. I have been assistant of teaching and research at PRiSM, Versailles University and LLAIC, Clermont-Ferrand University. I visited Reservoir Labs Inc. as visiting professor, for one year in 2009. My research interests are in compiler techniques for optimization and parallelization with a strong emphasis on code restructuring using the polyhedral model. I maintain several polyhedral-community-used tools as the code generator CLooG and Paul Feautrier's parametric integer programming solver, PIP.
![]()
![]()
Adress INRIA Saclay Île-de-France
Parc Club Orsay Université
ZAC des vignes
4 rue Jacques Monod
91893 Orsay
FRANCEInstitut Universitaire de Technologie d'Orsay
Plateau de Moulon
91400 Orsay
FRANCEOffice Building N, office 10 Building 609, office 010A Phone +33/0 1 72 92 59 65 +33/0 1 69 33 61 08 Fax +33/0 1 60 19 66 08 +33/0 1 69 33 61 10 cedric.bastoul@inria.fr cedric.bastoul@iut-orsay.fr
Journals and Book Chapters
- C. Bastoul. Parallel Code Generation. Encyclopedia of Parallel Computing, Springer, 2010 (to appear).
- S. Girbal, N. Vasilache, C. Bastoul, A. Cohen, D. Parello, M. Sigler, and O. Temam. Semi-automatic composition of loop transformations for deep parallelism and memory hierarchies. International Journal of Parallel Programming, 34(3):261-317, June 2006. [ACM] [PDF] [bibtex]
- C. Bastoul and P. Feautrier. Adjusting a program transformation for legality. Parallel processing letters, 15(1):3-17, Mar. 2005. [World Scientific] [PDF] [bibtex]
Conferences
- M.-W. Benabderrahmane, L.-N. Pouchet, A. Cohen, and C. Bastoul. The Polyhedral Model Is More Widely Applicable Than You Think. In CC'10 International Conference on Compiler Construction, LNCS, Paphos, Cyprus, March 2010. [PDF (to come)] [bibtex]
- C. Bastoul, N. Vasilache, A. Leung, B. Meister, D. Wohlford, and R. Lethin. Extended Static Control Programs as a Programming Model for Accelerators, A Case Study: Targetting ClearSpeed CSX700 With the R-Stream Compiler. In proceedings of the PMEA'09 Workshop on Programming Models for Emerging Architectures, pages 45-52, Raleigh, North Carolina, September 2009. [PDF] [bibtex]
- A. Hartono, M. Baskaran, C. Bastoul, A. Cohen, S. Krishnamoorthy, B. Norris, J. Ramanujam and P. Sadayappan. Parametric Multi-Level Tiling of Imperfectly Nested Loops. In Proceedings of the ACM International Conference on Supercomputing (ICS'09), pages 147-157, Yorktown Heights, New York, June 2009. [PDF] [bibtex]
- B. Meister, A. Leung, N. Vasilache, D. Wohlford, C. Bastoul and R. Lethin. Productivity via Automatic Code Generation for PGAS Platforms with the R-Stream Compiler. In APGAS'09 Workshop on Asynchrony in the PGAS Programming Model, Yorktown Heights, New York, June 2009. [PDF] [bibtex]
- L.-N. Pouchet, C. Bastoul, A. Cohen, and S. Cavazos. Iterative optimization in the polyhedral model: Part II, multidimensional time. In proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'08), pages 90-100, Tucson, Arizona, June 2008. [ACM] [PDF] [bibtex]
- L.-N. Pouchet, C. Bastoul, J. Cavazos, and A. Cohen. A note on the performance distribution of affine schedules. In 2nd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (SMART'08), Göteborg, Sweden, Jan. 2008. [PDF] [bibtex]
- S. Salva, C. Delamare, and C. Bastoul. Web service call parallelization using OpenMP. In 3rd International Workshop on OpenMP, LNCS 4935, pages 185-194, Beijing, China, June 2007. [Springer] [PDF] [bibtex]
- L.-N. Pouchet, C. Bastoul, A. Cohen, and N. Vasilache. Iterative optimization in the polyhedral model: Part I, one-dimensional time. In ACM International Conference on Code Generation and Optimization (CGO'07), pages 144-156, San Jose, California, Mar. 2007. [ACM] [PDF] [bibtex]
- N. Vasilache, C. Bastoul, S. Girbal, and A. Cohen. Violated dependence analysis. In Proceedings of the ACM International Conference on Supercomputing (ICS'06), pages 335-344, Cairns, Australia, June 2006. [ACM] [PDF] [bibtex]
- S. Pop, A. Cohen, C. Bastoul, S. Girbal, P. Jouvelot, G.-A. Silber, and N. Vasilache. GRAPHITE: Loop optimizations based on the polyhedral model for GCC. In Proc. of the 4th GCC Developper's Summit, pages 179-198, Ottawa, Canada, June 2006. [PDF] [bibtex]
- N. Vasilache, C. Bastoul, and A. Cohen. Polyhedral code generation in the real world. In Proceedings of the International Conference on Compiler Construction (ETAPS CC'06), LNCS 3923, pages 185-201, Vienna, Austria, Mar. 2006. Springer-Verlag. [Springer] [PDF] [bibtex]
- C. Bastoul. Code generation in the polyhedral model is easier than you think. In PACT'13 IEEE International Conference on Parallel Architecture and Compilation Techniques, pages 7-16, Juan-les-Pins, France, Sept. 2004. Student Award. [ACM] [PDF] [bibtex]
- C. Bastoul and P. Feautrier. More legal transformations for locality. In Euro-Par'10 International Euro-Par conference, LNCS 3149, pages 272-283, Pisa, Italy, Aug. 2004. Distinguished Paper Award. [Springer] [PDF] [bibtex]
- C. Bastoul. Efficient code generation for automatic parallelization and optimization. In ISPDC'2 IEEE International Symposium on Parallel and Distributed Computing, pages 23-30, Ljubljana, Slovenia, Oct. 2003. [IEEE] [PDF] [bibtex]
- C. Bastoul, A. Cohen, S. Girbal, S. Sharma, and O. Temam. Putting polyhedral loop transformations to work. In Workshop on Languages and Compilers for Parallel Computing (LCPC'03), LNCS 2558, pages 23-30, College Station, Texas, Oct. 2003. Springer-Verlag. [Springer] [PDF] [bibtex]
- C. Bastoul and P. Feautrier. Improving data locality by chunking. In CC'12 International Conference on Compiler Construction, LNCS 2622, pages 320-335, Warsaw, Poland, Apr. 2003. [Springer] [PDF] [bibtex]
- C. Bastoul and P. Feautrier. Reordering methods for data locality improvement. In CPC'10 Compilers for Parallel Computers, pages 187-196, Amsterdam, The Netherlands, Jan. 2003. [PDF] [bibtex]
- C. Bastoul. Une méthode d'amélioration de la localité basée sur des estimations asymptotiques du trafic. In RENPAR'14, pages 127-134, Hammamet, Tunisia, Avril 2002. [PDF] [bibtex]
Tool-Related Technical Reports
- C. Bastoul. Extracting polyhedral representation from high level programs. Technical Report, LRI, Paris-Sud University, 2008. Related to the Clan tool. [PDF] [bibtex]
- L.-N. Pouchet, C. Bastoul, A. Cohen. LetSee: the LEgal Transformation SpacE Explorer. Third International Summer School on Advanced Computer Architecture and Compilation for Embedded Systems (ACACES'07), pages 247-251, L'Aquila, Italia, Jul. 2008. Related to the LeTSeE tool. [PDF] [bibtex]
- C. Bastoul, A. Cohen, A. Girbal, S. Sharma, and O. Temam. Putting polyhedral loop transformations to work. Technical Report 4902, INRIA Rocquencourt, 2003. Related to the WRAP-IT tool. [PDF] [bibtex]
- C. Bastoul. Generating loops for scanning polyhedra. Technical Report 2002/23, PRiSM, Versailles University, 2002. Related to the CLooG tool. [PDF] [bibtex]
- P. Feautrier, J. Collard, and C. Bastoul. Solving systems of affine (in)equalities. Technical report, PRiSM, Versailles University, 2002. Related to the PIP/PipLib tool. [PDF] [bibtex]
- J. Abella, C. Bastoul, J. Bechennec, N. Drach, C. Eisenbeis, P. Feautrier, B. Franke, G. Fursin, A. Gonzalez, T. Kisku, P. Knijnenburg, J. Llosa, M. O'Boyle, J. Sebot, and X. Vera. Guided transformations. Technical Report M3.D2, MHAOTEU ESPRIT project No 24942, february 2001. Related to the MHAOTEU toolset. [PDF] [bibtex]
Thesis
I'm writing and/or maintaining several tools that can be combined to build a complete source-to-source optimization/parallelization framework. Nevertheless they can also be used separately either to be a part of your own framework or to achieve a specific task that has nothing to do with compilation (e.g., PIP and CLooG are also used for very different purpose). All these tools are free software under GPL or LGPL license. However (except for PIP which is copyright (C) Paul Feautrier), if you're coming from industry and you are interested in integrating some of these tools without GPL/LGPL requirements, just ask me. I can even integrate them for you, translate them to you prefered language and so on.
- Clan, the Chunky Loop ANalyzer, is a tool to extract the polyhedral representation from the static control parts of high level programs (written in C, C++, C# or Java). Status: in development, use at your own risks, full documentation in doc/ directory. To be released soon. New: see the irregular extension prototype of this tool here.
- Candl, the Chunky ANalyzer for Dependencies in Loops, is a tool for data dependence analysis of static control parts. Status: in development, no documentation (except full Doxygen-documented code), no support.
- PIP/PipLib, the Parametric Integer Programming (LIBrary), is a tool that finds the lexicographic minimum (or maximum) in the set of integer points of a convex parameterized polyhedron (i.e. even if this polyhedron linearly depends on one or more integral parameters). Status: production quality.
- Chunky is the optimizer heart. It finds the transformations to be applied to the original code in order to improve data locality. I developed Chunky during my Ph.D. it is not working anymore with the new toolchain but I plan to port it someday. For the moment, if you're looking for a tool to find good transformations, you should consider LooPo that implements well known algorithms (Feautrier, Lim, Griebl, etc.), LeTSeE that achieves iterative compilation scheme over the polyhedral model or PLuTo, a state-of-the-art tiling-based parallelizer in the polyhedral model.
- CLooG, the Chunky LOOp Generator. This tool is a code generator for scanning Z-polyhedra: it finds the code or pseudo-code where each integral point of one or more parameterized polyhedron or parameterized polyhedra union is reached. Status: production quality. New: see the irregular extension prototype of this tool here.
Vous trouverez ici les ressources pédagogiques des différents enseignements que je donne (ou que j'ai donné, ou auxquels j'ai participé récemment) à l'IUT d'Orsay, à l'UFR Sciences de l'université Paris-Sud ou encore à l'École Polytechnique. Si un lien est mort, cela signifie certainement que la responsabilité a changé, merci de ne pas m'en avertir !
- Licence Professionnelle SRSI, IUT d'Orsay.
- Système S2, IUT d'Orsay.
- Système S4, IUT d'Orsay.
- Java Apprentis, IUT d'Orsay.
- Java, IUT d'Orsay (vers page de la responsable, Sylvie Delaët).
- Amphi matériel, IUT d'Orsay.
- Programmation orientée objet, UFR Sciences Paris-Sud.
- Architecture des ordinateurs, École Polytechnique.
- Principes et programmation des systèmes d'exploitation, École Polytechnique (vers page du responsable, Albert Cohen).
- Sécurité informatique, formation continue.
- Projet Nintendo DS, IUT d'Orsay.
PolyLib
Polylib is a free library written in C for the manipulation of polyhedra (unfortunately under GPL Licence, not LGPL). The library is operating on objects like vectors, matrices, lattices, polyhedra, Z-polyhedra, unions of polyhedra and a lot of other intermediary structures. It provides functions for all the important operations on these structures.Handcrafts
In the history of computing, program optimizations were initially handcrafted, leading to error prone, non portable, illegible codes, and incidentally to a real nightmare for automatic optimizers. Nevertheless, it is very useful to know and understand them in order to consider their automatic application. Here are some exhaustive handcraft vaults:
- Optimization of Computer Programs in C by Michael E. Lee ( local copy ).
- Programming Optimization by Paul Hsieh ( local copy ).
- Timing and Optimization by G. Sawitzki ( local copy ).