News

Clan 0.8.0
New Clan release with a larger and an easier-to-understand application domain. Learn more!
OpenScop 0.9.0
New version of OpenScop, the open format and library for polyhedral compilation tools to work together. Learn more!
ICPS
After some great years at Paris-Sud, I have the privilege to join the vibrant ICPS team of the ICube lab at the University of Strasbourg. Do not forget to update your contact information if necessary.
CLooG 0.18.0
New CLooG release that, amongst other improvements, brings the OpenScop support. Learn more!
PoCC 1.2
Louis-Noël Pouchet published a new release of the Polyhedral Compiler Collection. To enjoy the power of high-level compilation, give it a try!

Bio and Contact Informations

I'm professor and head of the Computer Science Department at the University of Strasbourg, France, associated with the ICPS group, the research team on parallel and scientific computing at ICube. 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. Before joining the University of Strasbourg, I have been assistant professor at Paris-Sud University. I visited Reservoir Labs Inc. as visiting professor, for one year in 2009. In 2011-2012, I have been visiting researcher at CNRS, the French National Lab. 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 ICPS
Pôle API
300 Boulevard Sébastien Brant
CS 10413
67412 Illkirch
FRANCE
Département Informatique
UFR Mathématique et Informatique
7 rue René Descartes
67000 Strasbourg
FRANCE
Office Pôle API, office B223 Building 7, office 324
Phone +33/0 3 68 85 45 52 +33/0 3 68 85 02 42
E-mail cedric.bastoul@unistra.fr cedric.bastoul@unistra.fr

Research

Scholar citations

Journals and Book Chapters

  1. E. Park, J. Cavazos, L.-N. Pouchet, C. Bastoul, A. Cohen and P. Sadayappan Predictive Modeling in a Polyhedral Optimization Space International Journal of Parallel Programming, 41(5):704-750, October 2013. [bibtex]
  2. C. Bastoul. Parallel Code Generation. Encyclopedia of Parallel Computing, pages 310-318, Springer, 2011.
  3. H. Munk, E. Ayguadé, C. Bastoul, P. Carpenter, Z. Chamski, A. Cohen, M. Cornero, P. Dumont, M. Duranton, M. Fellahi, R. Ferrer, R. Ladelsky, M. Lindwer, X. Martorell, C. Miranda, D. Nuzman, A. Ornstein, A. Pop, S. Pop, L.-N. Pouchet, A. Ramí­rez, D. Ródenas, E. Rohou, I. Rosen, U. Shvadron, K. Trifunovic and A. Zaks. ACOTES Project: Advanced Compiler Technologies for Embedded Streaming. International Journal of Parallel Programming, 38, April 2010. [Springer] [PDF] [bibtex]
  4. 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]
  5. 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 and Workshops

  1. C. Bastoul and C. Sabater. Automatic Generation of Adaptive Simulation Codes In SimRace, Conference on Numerical Methods and High Performance Computing for Industrial Fluid Flows, Rueil-Malmaison, France, December 2015. [PDF] [bibtex]
  2. O. Zinenko, C. Bastoul and S. Huot. Manipulating Visualizations, Not Codes In IMPACT, International Workshop on Polyhedral Compilation Techniques, Amsterdam, The Netherlands, January 2015. [PDF] [bibtex]
  3. L. Bagnères and C. Bastoul. Switchable Scheduling for Runtime Adaptation of Optimization In Euro-Par'20 International Euro-Par Conference, Porto, Portugal, August 2014. [PDF] [bibtex]
  4. O. Zinenko, S. Huot and C. Bastoul. Clint: A Direct Manipulation Tool for Parallelizing Compute-Intensive Program Parts In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Melbourne, Australia, July 2014. [PDF] [bibtex]
  5. F. Bodin, C. Bastoul and E. Brunet.. A Compilation Path for Manycore Architectures In International Workshop on High Performance Energy Efficient Embedded Systems (HIP3ES), Berlin, Germany, January 2013 (communication).
  6. L.-N. Pouchet, U. Bondhugula, C. Bastoul, A. Cohen, J. Ramanujam, P. Sadayappan and N. Vasilache. Loop Transformations: Convexity, Pruning and Optimization In 38th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL'11), Austin, TX, January 2011. [PDF] [bibtex]
  7. L.-N. Pouchet, U. Bondhugula, C. Bastoul, A. Cohen, J. Ramanujam and P. Sadayappan. Combined Iterative and Model-driven Optimization in and Automatic Parallelization Framework In International Conference on Supercomputing (SC'10), New Orleans, LA, November 2010. [PDF] [bibtex]
  8. A. Hartono, N. Vasilache, C. Bastoul, A. Leung, B. Meister, R. Lethin and P. Vouras. Automatic Parallelization and Locality Optimization of Beamforming Algorithms. In High Performance Embedded Computing Workshop (HPEC), MIT Lincoln Laboratory, Lexington, Massachusetts, September 2010. [PDF] [bibtex]
  9. R. Baghdadi, A. Cohen, C. Bastoul, L.-N. Pouchet and L. Rauchwerger. The potential of synergistic static, dynamic and speculative loop nest optimizations for automatic parallelization. In Workshop on Parallel Execution of Sequential Programs on Multi-core Architectures (PESPMA'10), Saint-Malo, France, August 2010. [PDF] [bibtex]
  10. A. Leung, N. Vasilache, B. Meister, M. Baskaran, D. Wohlford, C. Bastoul and R. Lethin. A mapping path for multi-GPGPU accelerated computers from a portable high level programming abstraction. In Proceedings of 3rd Workshop on General Purpose Processing on Graphics Processing Units, GPGPU 2010, ACM International Conference Proceeding Series, Volume 425, Pages 51-61, Pittsburgh, Pennsylvania, March 2010. [ACM] [PDF] [bibtex]
  11. 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 6011, pages 283-303, Paphos, Cyprus, March 2010. [Springer] [PDF] [bibtex]
  12. 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]
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. 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]
  27. 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]
  28. 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

  1. C. Bastoul. Extracting polyhedral representation from high level programs. Technical Report, LRI, Paris-Sud University, 2008. Related to the Clan tool. [PDF] [bibtex]
  2. 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]
  3. 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]
  4. C. Bastoul. Generating loops for scanning polyhedra. Technical Report 2002/23, PRiSM, Versailles University, 2002. Related to the CLooG tool. [PDF] [bibtex]
  5. 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]
  6. 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]

Patents

  1. Allen K. Leung, Benoît Meister, Nicolas T. Vasilache, David E. Wohlford, Cédric Bastoul, Peter Szilagyi and Richard A. Lethin. System, Methods and Apparatus for Program optimization for Multi-Threaded Processor Architectures. Patent application number US20100218196, publication date 26/08/2010. [Description] [PDF]

Theses

  1. C. Bastoul. Contributions to High-Level Program Optimization. Habilitation thesis, University Paris-Sud, France, Dec. 2012. [PDF (defense version, to be updated soon)] [bibtex]
  2. C. Bastoul. Improving Data Locality in Static Control Programs. PhD thesis, University Paris 6, Pierre et Marie Curie, France, Dec. 2004. [PDF] [bibtex]

Development

I'm writing and/or maintaining and/or contributing to 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.

Teaching

Mes supports de cours sont à présent intégralement sur la plateforme Moodle de l'université de Strasbourg. Vous trouverez ici quelques ressources pédagogiques utilisées en dehors de l'Unistra, et des archives de différents enseignements que j'ai donné (ou auxquels j'ai participé) à 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 !

Links

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:
Disclaimer