Static Analyses and Transformations of Programs: from Parallelization to Differentiation

Laurent Hascoet
INRIA, BP93, 06902 Sophia-Antipolis, France

Habilitation thesis, 2005 (184 pages)

Abstract: We present a synthesis of research on tools for automatic program analysis and transformation. We give basic principles of static analysis of programs, and focus on two specific transformations: Automatic Parallelization and Automatic Differentiation (AD). We show how the formalism developped for parallelization is applied for a more efficient AD. We also present research on the usage in scientific computing of derivatives obtained through AD. We describe in detail the software tools that we developed for parallelization and AD, and we show perspectives of future research in AD.

Keywords: Compilation, Static Analysis, Data Flow Analysis, Program Transformation, Parallelization, Loop Nest Parallelization, Program Optimization, Data Dependency, Parallelization Tool, SPMD parallelization, Automatic Differentiation, Automatic Differentiation Tool, Scientific Computing, Optimal Shape Design, Optimization, Inverse Problems, Data Assimilation, Adjoint Models.

Full text (pdf)
Summary in French (pdf)

  author = {Hasco{\"e}t, L.},
  title = {Analyses statiques et transformations de programmes:
           de la parall{\'e}lisation a la diff{\'e}rentiation},
  type = {Habilitation},
  school = {Universit{\'e} de Nice Sophia-Antipolis},
  year = 2005