MURAL - Maynooth University Research Archive Library



    AD in Fortran Part 2: Implementation via Prepreprocessor


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

    [thumbnail of BP-AD-Fortran-Pt2.pdf]
    Preview
    Text
    BP-AD-Fortran-Pt2.pdf

    Download (71kB) | Preview
    Official URL: https://arxiv.org/abs/1203.1450

    Abstract

    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)
    URI: https://mural.maynoothuniversity.ie/id/eprint/6555
    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)

    Item control page
    Item control page

    Downloads

    Downloads per month over past year

    Origin of downloads