Adjoints of large simulation codes through Automatic Differentiation

Authors

  • Laurent Hascoët INRIA Sophia-Antipolis, équipe TROPICS 2004 Route des lucioles, BP 93, F-06901 Sophia-Antipolis
  • Benjamin Dauvergne INRIA Sophia-Antipolis, équipe TROPICS 2004 Route des lucioles, BP 93, F-06901 Sophia-Antipolis

DOI:

https://doi.org/10.13052/REMN.17.63-86

Keywords:

Automatic Differentiation, reverse mode, checkpointing, adjoint methods, gradient

Abstract

Adjoint methods are the choice approach to obtain gradients of large simulation codes. Automatic Differentiation has already produced adjoint codes for several simulation codes, and research continues to apply it to even larger applications. We compare the approaches chosen by existing Automatic Differentiation tools to build adjoint algorithms. These approaches share similar problems related to data-flow and memory traffic. We present some current state-of-the-art answers to these problems, and show the results on some applications.

Downloads

Download data is not yet available.

References

Bischof C., Carle A., Khademi P., Mauer A., “ ADIFOR 2.0: Automatic Differentiation of

Fortran 77 Programs”, IEEE Computational Science & Engineering, vol. 3, n° 3, p. 18-32,

Bischof C., Lang B., Vehreschild A., “ Automatic Differentiation for MATLAB Programs”,

Proceedings in Applied Mathematics and Mechanics, vol. 2, n° 1, p. 50-53, 2003.

Bücker M., Corliss G., Hovland P., Naumann U., Norris B. (eds), Automatic Differentiation:

Applications, Theory, and Implementations, vol. 50 of Lecture Notes in Computer Science

and Engineering, Springer, 2006.

Corliss G., Faure C., Griewank A., Hascoët L., Naumann U. (eds), Automatic Differentiation of

Algorithms, from Simulation to Optimization, LNCSE, Springer, 2001.

Forth S., “ An Efficient Overloaded Implementation of Forward Mode Automatic Differentiation

in MATLAB”, ACM Transactions on Mathematical Software, vol. 32, n° 2, p. 195-222,

Giering R., Kaminski T., Slawig T., “ Generating Efficient Derivative Code with TAF: Adjoint

and Tangent Linear Euler Flow Around an Airfoil”, Future Generation Computer Systems,

vol. 21, n° 8, p. 1345-1355, 2005. http://www.FastOpt.com/papers/Giering2005GED.pdf.

Griewank A., “ Achieving logarithmic growth of temporal and spatial complexity in reverse

automatic differentiation”, Optimization Methods and Software, vol. 1, n° 1, p. 35-54, 1992.

Griewank A., Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation,

Frontiers in Applied Mathematics, SIAM, 2000.

Griewank A., Juedes D., Utke J., “ Adol-C: a package for the automatic differentiation of algorithms

written in C/C++”, ACM Transactions on Mathematical Software, vol. 22, p. 131-

, 1996. http://www.math.tu-dresden.de/ adol-c.

Grimm J., Pottier L., Rostaing N., “ Optimal Time and Minimum Space-Time Product for Reversing

a Certain Class of Programs”, inM. Berz, C. H. Bischof, G. F. Corliss, A. Griewank

(eds), Computational Differentiation: Techniques, Applications, and Tools, SIAM, p. 95-

, 1996.

Hascoët L., Dauvergne B., “ The Data-Flow Equations of Checkpointing in Reverse Automatic

Differentiation”, in Alexandrov et al. (ed.), Computational Science – ICCS 2006, vol. 3994

of Lecture Notes in Computer Science, Springer, p. 566-573, 2006.

Hascoët L., Pascual V., TAPENADE 2.1 User’s Guide, Technical Report n° 300, INRIA, 2004.

http://www.inria.fr/rrrt/rt-0300.html.

Mani K., Mavriplis D.-J., “ An Unsteady Discrete Adjoint Formulation for Two-Dimensional

Flow Problems with Deforming Meshes”, AIAA Aerospace Sciences Meeting, Reno, NV,

AIAA Paper 2007-0060, 2007.

Naumann U., Riehme J., “ A Differentiation-Enabled Fortran 95 Compiler”, ACM Transactions

on Mathematical Software, 2005.

Utke J., Naumann U., OpenAD/F: User manual, Technical report, Argonne National Laboratory,

http://www.mcs.anl.gov/openad/.

Verma A., “ ADMAT: Automatic Differentiation in MATLAB Using Object Oriented Methods”,

in M. E. Henderson, C. R. Anderson, S. L. Lyons (eds), Object Oriented Methods

for Interoperable Scientific and Engineering Computing: Proceedings of the 1998 SIAM

Workshop, SIAM, Philadelphia, p. 174-183, 1999.

Downloads

Published

2008-11-18

How to Cite

Hascoët, L. ., & Dauvergne, B. . (2008). Adjoints of large simulation codes through Automatic Differentiation. European Journal of Computational Mechanics, 17(1-2), 63–86. https://doi.org/10.13052/REMN.17.63-86

Issue

Section

Original Article