Conference Publication Details
Mandatory Fields
Radul A.;Pearlmutter B.;Siskind J.
Lecture Notes in Computational Science and Engineering
AD in Fortran: Implementation via prepreprocessor
Optional Fields
ADIFOR Forward mode Multiple transformation Nesting Programming-language implementation Reverse mode Tapenade
We describe an implementation of the Farfel Fortran77 AD extensions (Radul et al. AD in Fortran, Part 1: Design (2012), 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. © 2012 Springer-Verlag.
Grant Details