|
![]() |
Since 1998, I've been working on
Automatic Differentiation (AD).
INRIA allowed
Valerie Pascual
and I to start a new research team on AD,
TROPICS, which later became team ECUADOR.
Here is a detailled manifest (in French), that defines the initial
goals of TROPICS (1999).
On one side, I try to promote the use of AD in the scientific computation community. This means not only applying AD technology to real programs, but also define methodologies for a clever use of AD derivatives in optimization problems or inverse problems. For example, article [HGP05] focuses on application of our AD tool TAPENADE (user's guide: [Hascoet2004T2u]) in the reverse mode to compute adjoints, whereas articles [CDKH03] and [Hascoet2003ADf] focus on methodologies to use the computed adjoints in shape optimization problems.
On the other side, I try to apply the theories and techniques of compilation and parallelization to Automatic Differentiation. An AD tool is just another program analysis and transformation engine. Well known techniques such as data-flow analyses can be applied to generate better differentiated programs. Article [HNP04] is just one example: we describe formally two specific AD analyses using data-flow equations, implemented in TAPENADE, and give some complexity results. Similarly, article [Hascoet2005TAD] studies the data-flow analyses of adjoint programs. Also [Hascoet2001AIC] proposes an specific model for reverse AD, improved for the special (and frequent) case of loops with independent iterations. The improvement relies on a isomorphism property between the data dependence graph of the adjoint program and that of the original program, which is demonstrated in [Hascoet2001TDG].
In January 2005, I defended a "Habilitation" [hdrHascoet05], which presents my recent work as transposing the experience and technology from Parallelization to Differentiation.
To get a broader view of all aspects of AD, you can take a look at [Corliss2001ADo] that contains selected papers from the AD2000 conference, which we co-organized in Nice in may 2000.
Before 1998, I've been working on semi-automatic parallelization tools.
This was done both inside INRIA and with private companies CONNEXITE then SIMULOG.
Inside SIMULOG's fortran analysis tool FORESYS, I developped the parallelization
component PARTITA. Here are two reports
[Hascoet94a] and
[Hascoet94b]
on the structures, algorithms, and functionalities in PARTITA.
PARTITA was used in the European project POST
[ABCHKLWW00]
to parallelize towards OpenMP.
I also defined a special parallelization
method for SPMD (Single Program, Multiple Data) parallelization of mesh-based algorithms,
which is described in articles
[Hascoet97],
[Hascoet01b] and in the more
detailled report [Hascoet99]
Before 1990, I was member of the INRIA team CROAP, who developped the
CENTAUR environment. In CENTAUR, one can define the syntax and semantics of any
computer language, giving abstract, high-level specifications, and getting in
return a programming environment for this language.
The abstract formalism for the semantics is called Natural Semantics
[CDDHK85],
expressed in the "TYPOL" language.
I wrote my doctorate thesis
[phdHascoet87]
on how to take a type-checker written in this formalism,
and make it incremental with respect to program modifications.
This required a formalism to designate and combine modifications in
trees, described in
[ClementHascoet88].
TYPOL inference rules can be combined to form proof trees,
and I wrote a tool for that
[Hascoet88b], refined in
[Hascoet89].
A very stimulating and pleasant experience was
to work with people in the Partial Evaluation community,
making the link with Natural Semantics. I could
define a Partial Evaluation on TYPOL programs
and proof trees
[Hascoet88a],
to turn a TYPOL semantics file into a compiler.
(AD 2004) The Recompute-Or-Store Alternative
(ECCOMAS'04) Data-Flow algorithms for reverse AD
(AD 2000) Adjoining Independent Computations
![]() |
![]() |
The research team Tropics
Also, the
www.autodiff.org, which is the site of the Automatic Differentiation
community, managed by colleagues in Aachen and Argonne.
INRIA's main page, and the specific page for
Sophia-Antipolis center.
AD2012 slides Pascual-Hascoet , Lauvernet-Hascoet