Adjoints of Fixed-Point Iterations
Résumé
Adjoint algorithms, and in particular those obtained through the adjoint
mode of Automatic Differentiation (AD), are probably the most efficient way to obtain
the gradient of a numerical simulation. This however needs to use the flow of data of
the original simulation in reverse order, at a cost that increases with the length of the
simulation. AD research looks for strategies to reduce this cost, taking advantage of the
structure of the given program. One such frequent structure is fixed-point iterations,
which occur e.g. in steady-state simulations, but not only. It is common wisdom that
the first iterations of a fixed-point search operate on a meaningless state vector, and that
reversing the corresponding data-flow may be suboptimal. An adapted adjoint strategy
for this iterative process should consider only the last or the few last iterations. At
least two authors, B. Christianson and A. Griewank, have studied mathematically fixed-
point iterations with the goal of defining an efficient adjoint. In this paper, we describe
and contrast these two strategies with the objective of implementing the best suited one
into the AD tool that we are developing. We select a representative application to test
the chosen strategy, to propose a set of user directives to trigger it, and to discuss the
implementation implications in our tool.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|