|
|
AD in Fortran: Implementation via Prepreprocessor-
incollection
- | |
|
Author(s)
Alexey Radul
, Barak A. Pearlmutter
, Jeffrey Mark Siskind
|
Published in Recent Advances in Algorithmic Differentiation
|
Editor(s) Shaun Forth, Paul Hovland, Eric Phipps, Jean Utke, Andrea Walther |
Year 2012 |
Publisher Springer |
Abstract We describe an implementation of the Farfel Fortran77 ad extensions (Radul et al. ad in Fortran, Part 1: Design (2012), http://arxiv.org/abs/1203.1448). These extensions integrate forward and reverse ad directly into the programming model, with attendant benefits to flexibility, modularity, and ease of use. The implementation we describe is a “prepreprocessor” that generates input to existing Fortran-based ad tools. In essence, blocks of code which are targeted for ad by Farfel constructs are put into subprograms which capture their lexical variable context, and these are closure-converted into top-level subprograms and specialized to eliminate arguments, rendering them amenable to existing ad preprocessors, which are then invoked, possibly repeatedly if the ad is nested. |
Cross-References Forth2012RAi |
AD Tools Farfallen |
AD Theory and Techniques Implementation Strategies |
BibTeX
@INCOLLECTION{
Radul2012AiF,
title = "AD \emph{in} {F}ortran: {I}mplementation via {P}repreprocessor",
doi = "10.1007/978-3-642-30023-3_25",
author = "Alexey Radul and Barak A. Pearlmutter and Jeffrey Mark Siskind",
abstract = "We describe an implementation of the Farfel Fortran77 AD extensions (Radul et al.
AD in Fortran, Part 1: Design (2012), http://arxiv.org/abs/1203.1448). These extensions integrate
forward and reverse AD directly into the programming model, with attendant benefits to flexibility,
modularity, and ease of use. The implementation we describe is a
“prepreprocessor” that generates input to existing Fortran-based AD tools. In
essence, blocks of code which are targeted for AD by Farfel constructs are put into subprograms
which capture their lexical variable context, and these are closure-converted into top-level
subprograms and specialized to eliminate arguments, rendering them amenable to existing AD
preprocessors, which are then invoked, possibly repeatedly if the AD is nested.",
pages = "273--284",
crossref = "Forth2012RAi",
booktitle = "Recent Advances in Algorithmic Differentiation",
series = "Lecture Notes in Computational Science and Engineering",
publisher = "Springer",
address = "Berlin",
volume = "87",
editor = "Shaun Forth and Paul Hovland and Eric Phipps and Jean Utke and Andrea Walther",
isbn = "978-3-540-68935-5",
issn = "1439-7358",
year = "2012",
ad_tools = "Farfallen",
ad_theotech = "Implementation Strategies"
}
| |
back
|
|