Radul, Alexey Andreyevich and Pearlmutter, Barak A. and Siskind, Jeffrey Mark
(2012)
AD in Fortran
Part 1: Design.
Working Paper.
arXiv.
Abstract
We propose extensions to FORTRAN which integrate forward and reverse
Automatic Differentiation (AD) directly into the programming model. Irrespective
of implementation technology, embedding AD constructs directly into the language
extends the reach and convenience of AD while allowing abstraction of concepts
of interest to scientific-computing practice, such as root finding, optimization, and
finding equilibria of continuous games. Multiple different subprograms for these
tasks can share common interfaces, regardless of whether and how they use AD internally.
A programmer can maximize a function F by calling a library maximizer,
XSTAR=ARGMAX(F, X0), which internally constructs derivatives of F by AD, without
having to learn how to use any particular AD tool. We illustrate the utility of
these extensions by example: programs become much more concise and closer to
traditional mathematical notation. A companion paper describes how these extensions
can be implemented by a program that generates input to existing FORTRANbased
AD tools.
Item Type: |
Monograph
(Working Paper)
|
Additional Information: |
Cite as: arXiv:1203.1448 [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 design; |
Academic Unit: |
Faculty of Science and Engineering > Computer Science |
Item ID: |
6554 |
Depositing User: |
Barak Pearlmutter
|
Date Deposited: |
10 Nov 2015 16:42 |
Publisher: |
arXiv |
Funders: |
Science Foundation Ireland (SFI) |
URI: |
|
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 |
Downloads per month over past year
Origin of downloads