Publication: Implementation of Automatic Differentiation Tools
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

Implementation of Automatic Differentiation Tools

- Part of a collection -
 

Author(s)
Christian H. Bischof , Paul D. Hovland , Boyana Norris

Published in
Proceedings of the 2002 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'02)

Year
2002

Publisher
ACM Press

Abstract
Automatic differentiation is a semantic transformation that applies the rules of differential calculus to source code. It thus transforms a computer program that computes a mathematical function into a program that computes the function and its derivatives. Derivatives play an important role in a wide variety of scientific computing applications, including optimization, solution of nonlinear equations, sensitivity analysis, and nonlinear inverse problems. We describe a simple component architecture for developing tools for automatic differentiation and other mathematically oriented semantic transformations of scientific software. This architecture consists of a compiler-based, language-specific front-end for source transformation, loosely coupled with one or more language-independent ``plug-in″ transformation modules. The coupling mechanism between the front-end and transformation modules is provided by the XML Abstract Interface Form (XAIF). XAIF provides an abstract, language-independent representation of language constructs common in imperative languages, such as C and Fortran. We describe the use of this architecture in constructing tools for automatic differentiation of Fortran 77 and ANSI C, and we discuss how access to compiler optimization techniques can enable more efficient derivative augmentation.

AD Tools
Development

BibTeX
@INPROCEEDINGS{
         Bischof2002IoA,
       author = "Christian H.~Bischof and Paul D. Hovland and Boyana Norris",
       title = "Implementation of Automatic Differentiation Tools",
       booktitle = "Proceedings of the 2002 ACM SIGPLAN Workshop on Partial Evaluation and
         Semantics-Based Program Manipulation (PEPM'02)",
       pages = "98--107",
       address = "New York, NY, USA",
       publisher = "ACM Press",
       abstract = "Automatic differentiation is a semantic transformation that applies the rules of
         differential calculus to source code. It thus transforms a computer program that computes a
         mathematical function into a program that computes the function and its derivatives. Derivatives
         play an important role in a wide variety of scientific computing applications, including
         optimization, solution of nonlinear equations, sensitivity analysis, and nonlinear inverse problems.
         We describe a simple component architecture for developing tools for automatic differentiation and
         other mathematically oriented semantic transformations of scientific software. This architecture
         consists of a compiler-based, language-specific front-end for source transformation, loosely coupled
         with one or more language-independent ``plug-in'' transformation modules. The coupling
         mechanism between the front-end and transformation modules is provided by the XML Abstract Interface
         Form (XAIF). XAIF provides an abstract, language-independent representation of language constructs
         common in imperative languages, such as C and Fortran. We describe the use of this architecture in
         constructing tools for automatic differentiation of Fortran~77 and ANSI C, and we discuss how access
         to compiler optimization techniques can enable more efficient derivative augmentation.",
       ad_tools = "Development",
       year = "2002",
       doi = "10.1145/503032.503047"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)