Automatic Differentiation Platform: Design

Christèle Faure

ESAIM: Mathematical Modelling and Numerical Analysis (2010)

  • Volume: 36, Issue: 5, page 783-792
  • ISSN: 0764-583X

Abstract

top
Automatic differentiation (AD) has proven its interest in many fields of applied mathematics, but it is still not widely used. Furthermore, existing numerical methods have been developed under the hypotheses that computing program derivatives is not affordable for real size problems. Exact derivatives have therefore been avoided, or replaced by approximations computed by divided differences. The hypotheses is no longer true due to the maturity of AD added to the quick evolution of machine capacity. This encourages the development of new numerical methods that freely make use of program derivatives, and will require the definition and development of new AD strategies. AD tools must be extended to produce these new derivative programs, in such a modular way that the different sub-problems can be solved independently from one another. Flexibility assures the user to be able to generate whatever specific derivative program he needs, with at the same time the possibility to generate standard ones. This paper sketches a new model of modular, extensible and flexible AD tool that will increase tenfold the DA potential for applied mathematics. In this model, the AD tool consists of an AD kernel named KAD supported by a general program transformation platform.

How to cite

top

Faure, Christèle. "Automatic Differentiation Platform: Design." ESAIM: Mathematical Modelling and Numerical Analysis 36.5 (2010): 783-792. <http://eudml.org/doc/194126>.

@article{Faure2010,
abstract = { Automatic differentiation (AD) has proven its interest in many fields of applied mathematics, but it is still not widely used. Furthermore, existing numerical methods have been developed under the hypotheses that computing program derivatives is not affordable for real size problems. Exact derivatives have therefore been avoided, or replaced by approximations computed by divided differences. The hypotheses is no longer true due to the maturity of AD added to the quick evolution of machine capacity. This encourages the development of new numerical methods that freely make use of program derivatives, and will require the definition and development of new AD strategies. AD tools must be extended to produce these new derivative programs, in such a modular way that the different sub-problems can be solved independently from one another. Flexibility assures the user to be able to generate whatever specific derivative program he needs, with at the same time the possibility to generate standard ones. This paper sketches a new model of modular, extensible and flexible AD tool that will increase tenfold the DA potential for applied mathematics. In this model, the AD tool consists of an AD kernel named KAD supported by a general program transformation platform. },
author = {Faure, Christèle},
journal = {ESAIM: Mathematical Modelling and Numerical Analysis},
keywords = {AD; algorithmic differentiation; computational differentiation; design; open platform.; automatic differentiation; design; open platform; divided differences},
language = {eng},
month = {3},
number = {5},
pages = {783-792},
publisher = {EDP Sciences},
title = {Automatic Differentiation Platform: Design},
url = {http://eudml.org/doc/194126},
volume = {36},
year = {2010},
}

TY - JOUR
AU - Faure, Christèle
TI - Automatic Differentiation Platform: Design
JO - ESAIM: Mathematical Modelling and Numerical Analysis
DA - 2010/3//
PB - EDP Sciences
VL - 36
IS - 5
SP - 783
EP - 792
AB - Automatic differentiation (AD) has proven its interest in many fields of applied mathematics, but it is still not widely used. Furthermore, existing numerical methods have been developed under the hypotheses that computing program derivatives is not affordable for real size problems. Exact derivatives have therefore been avoided, or replaced by approximations computed by divided differences. The hypotheses is no longer true due to the maturity of AD added to the quick evolution of machine capacity. This encourages the development of new numerical methods that freely make use of program derivatives, and will require the definition and development of new AD strategies. AD tools must be extended to produce these new derivative programs, in such a modular way that the different sub-problems can be solved independently from one another. Flexibility assures the user to be able to generate whatever specific derivative program he needs, with at the same time the possibility to generate standard ones. This paper sketches a new model of modular, extensible and flexible AD tool that will increase tenfold the DA potential for applied mathematics. In this model, the AD tool consists of an AD kernel named KAD supported by a general program transformation platform.
LA - eng
KW - AD; algorithmic differentiation; computational differentiation; design; open platform.; automatic differentiation; design; open platform; divided differences
UR - http://eudml.org/doc/194126
ER -

References

top
  1. M. Berz, C.H. Bischof, G.F. Corliss and A. Griewank, Computational Differentiation: Applications, Techniques, and Tools. SIAM, Philadelphia (1996).  Zbl0857.00033
  2. C. Bischof, A. Carle, P. Khademi, A. Mauer and P. Hovland, Adifor 2.0 User's Guide, Technical Report ANL/MCS-TM-192/CRPC-TR95516-S. Argonne National Laboratory Technical Memorandum and CRPC Technical Report (1998).  
  3. G. Corliss, C. Faure, A. Griewank, L. Hascoet and U. Naumann, Automatic Differentiation: From Simulation to Optimization. Springer-Verlag (2001).  Zbl0983.68001
  4. C. Faure, Adjoining strategies for multi-layered programs. Optim. Methods Softw.17 (2002) 129-164.  Zbl1057.68142
  5. C. Faure and U. Naumann, Minimizing the Tape Size, in Automatic Differentiation: From Simulation to Optimization, G. Corliss, C. Faure, A. Griewank, L. Hascoët and U. Naumann Eds. Springer-Verlag (2001).  
  6. C. Faure and Y. Papegay, Odyssée User's Guide, Version 1.7. Rapport technique 0224. INRIA (1998).  
  7. R. Giering, Tangent linear and Adjoint Model Compiler, Users manual (1997). Unpublished, available from  URIhttp://puddle.mit.edu/~ralf/tamc
  8. R. Giering and T. Kaminski, Generating recomputations in reverse mode, in Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer-Verlag (2001).  
  9. A. Griewank, Principles and Techniques of Algorithmic Differentiation. SIAM (2000).  Zbl0958.65028
  10. A. Griewank and G.F. Corliss, Automatic Differentiation of Algorithms: Theory, Implementation, and Applications. SIAM, Philadelphia (1991).  Zbl0747.00030
  11. Stanford Compiler Group, Suif Compiler System, Technical report. Stanford University.  
  12. M. Iri, Simultaneous computation of functions, partial derivatives and estimates of rounding errors, complexity and practicality. Japan J. Appl. Math.1 (1984) 223-252.  Zbl0634.65009
  13. M. Iri and K. Kubota, Methods of fast automatic differentiation and applications, Research memorandum rmi 87-02, Department of Mathematical Engineering and Instrumentation Physics. Faculty of Engineering, University of Tokyo (1987).  
  14. J. Joss, Algorithmisches Differenzieren. Ph.D. Thesis, ETH Zurich (1976).  
  15. K.V. Kim, Yu.E. Nesterov and B.V. Cherkasskii, An estimate of the effort in computing the gradient. Soviet Math. Dokl.29 (1984) 384-387.  Zbl0583.90085
  16. G.M. Ostrovskii, Yu.M. Volin and W.W. Borisov, Uber die berechnung von ableitungen. Wiss. Z. Tech. Hochsch. Chimie13 (1971) 382-384.  
  17. J.W. Sawyer, First partial differentiation by computer with an application to categorial data analysis. Amer. Statist.38 (1984) 300-308.  Zbl0548.65005
  18. B. Speelpening, Compiling fast partial derivatives of functions given by algorithms. Ph.D. Thesis, University of Illinois, Urbana-Champaign (1980).  

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.