1 |
Adjoint Compiler Technology and Standards |
2 |
|
3 |
Uwe Nauman, Patrick Heimbach, Christopher Hill and Carl Wunsch |
4 |
|
5 |
Adjoint models are important both to understanding the sensitivity of the |
6 |
ocean state to initial/boundary conditions, model parameters of all types, |
7 |
and in a secondary role as a numerical method for doing data assimilation. |
8 |
Although also important in engineering, economics, and most scientific |
9 |
disciplines, they have thus far found their widest and most advanced applications |
10 |
in physical oceanography. While oceanographers have long experience in |
11 |
constructing `direct' or forward models, the construction of the corresponding |
12 |
adjoint model has proven, for many, burdensome and tedious. The advent of |
13 |
compilers capable of generating the adjoint model nearly automatically from the |
14 |
forward code has been revolutionary. |
15 |
|
16 |
The adjoint corresponds to taking the derivatives of the direct model with |
17 |
respect to any field or parameter subject to change. Its numerical values |
18 |
can be computed using either a tangent-linear or an adjoint model both of |
19 |
which can be generated by compilers for Automatic Differentiation (AD). The |
20 |
problems arising from making this source transformation fully automatic are |
21 |
investigated as part of a collaborative NSF-ITR funded research project between |
22 |
MIT, Rice University, and Argonne National Laboratory / University of Chicago. |
23 |
The project's goals are to develop a fully-automatic, easy to use open-source tool |
24 |
for AD that is immediately applicable to Fortran and C codes and that is designed |
25 |
to allow community extension to include more elaborate code transformations, for |
26 |
example Hessian calculation. A primary focus of the project is geophysical applications. |
27 |
|
28 |
The poster gives an overview of how compilers for AD work in principle. Various |
29 |
successful applications illustrate the feasibility of the general approach. Some |
30 |
of the major challenges in the field are discussed. Features of forward model |
31 |
implementations that are favorable from the point of view of automatic adjoint code |
32 |
generation are proposed. |
33 |
|