MURAL - Maynooth University Research Archive Library

    AD in Fortran Part 2: Implementation via Prepreprocessor

    Radul, Alexey and Pearlmutter, Barak A. and Siskind, Jeffrey Mark (2013) AD in Fortran Part 2: Implementation via Prepreprocessor. Working Paper. arXiv.

    Download (71kB) | Preview
    Official URL:

    Share your research

    Twitter Facebook LinkedIn GooglePlus Email more...

    Add this article to your Mendeley library


    We describe an implementation of the FARFEL FORTRAN AD extensions (Radul et al., 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 EXTERNAL arguments, rendering them amenable to existing AD preprocessors, which are then invoked, possibly repeatedly if the AD is nested.

    Item Type: Monograph (Working Paper)
    Additional Information: Cite as: arXiv:1203.1450 [cs.PL]. This work was supported, in part, by Science Foundation Ireland grant 09/IN.1/I2637, National Science Foundation grant CCF-0438806, the Naval Research Laboratory under Contract Number N00173-10-1-G023, and the Army Research Laboratory accomplished under Cooperative Agreement Number W911NF-10-2-0060. Any views, opinions, findings, conclusions, or recommendations contained or expressed in this document or material are those of the author(s) and do not necessarily reflect or represent the views or official policies, either expressed or implied, of SFI, NSF, NRL, the Office of Naval Research, ARL, or the Irish or U.S. Governments. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes, notwithstanding any copyright notation herein.
    Keywords: Nesting; multiple transformation; forward mode; reverse mode; TAPENADE; ADIFOR; programming-language implementation;
    Academic Unit: Faculty of Science and Engineering > Computer Science
    Item ID: 6555
    Depositing User: Barak Pearlmutter
    Date Deposited: 10 Nov 2015 16:42
    Publisher: arXiv
    Refereed: Yes
    Funders: Science Foundation Ireland (SFI)
      Use Licence: This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here

      Repository Staff Only(login required)

      View Item Item control page


      Downloads per month over past year

      Origin of downloads