Publication: AD in Fortran: Implementation via Prepreprocessor
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

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
  

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