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"
}
|