Back to Search Start Over

Term Graphs for Computing Derivatives in Imperative Languages.

Authors :
Hovland, Paul D.
Norris, Boyana
Strout, Michelle Mills
Utke, Jean
Source :
ENTCS: Electronic Notes in Theoretical Computer Science; May2007, Vol. 176 Issue 1, p99-111, 13p
Publication Year :
2007

Abstract

Abstract: Automatic differentiation is a technique for the rule-based transformation of a subprogram that computes some mathematical function into a subprogram that computes the derivatives of that function. Automatic differentiation algorithms are typically expressed as operating on a weighted term graph called a linearized computational graph. Constructing this weighted term graph for imperative programming languages such as C/C++ and Fortran introduces several challenges. Alias and definition-use information is needed to construct term graphs for individual statements and then combine them into one graph for a collection of statements. Furthermore, the resulting weighted term graph must be represented in a language-independent fashion to enable the use of AD algorithms in tools for various languages. We describe the construction and representation of weighted term graphs for C/C++ and Fortran, as implemented in the ADIC 2.0 and OpenAD/F tools for automatic differentiation. [Copyright &y& Elsevier]

Details

Language :
English
ISSN :
15710661
Volume :
176
Issue :
1
Database :
Supplemental Index
Journal :
ENTCS: Electronic Notes in Theoretical Computer Science
Publication Type :
Periodical
Accession number :
25106855
Full Text :
https://doi.org/10.1016/j.entcs.2006.10.029