Publication: OpenAD/F: A Modular, Open-Source Tool for Automatic Differentiation of Fortran Codes
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

OpenAD/F: A Modular, Open-Source Tool for Automatic Differentiation of Fortran Codes

- Article in a journal -
 

Author(s)
Jean Utke , Uwe Naumann , Mike Fagan , Nathan Tallent , Michelle Strout , Patrick Heimbach , Chris Hill , Carl Wunsch

Published in
ACM Transactions on Mathematical Software

Year
2008

Abstract
The OpenAD/F tool allows the evaluation of derivatives of functions defined by a Fortran program. The derivative evaluation is performed by a Fortran code resulting from the analysis and transformation of the original program that defines the function of interest. OpenADF has been designed with a particular emphasis on modularity, flexibility, and the use of open source components. While the code transformation follows the basic principles of automatic differentiation, the tool implements new algorithmic approaches at various levels, for example, for basic block preaccumulation and call graph reversal. Unlike most other automatic differentiation tools, OpenAD/F uses components provided by the OpenAD framework, which supports a comparatively easy extension of the code transformations in a language-independent fashion. It uses code analysis results implemented in the OpenAnalysis component. The interface to the language-independent transformation engine is an XML-based format, specified through an XML schema. The implemented transformation algorithms allow efficient derivative computations using locally optimized cross-country sequences of vertex, edge, and face elimination steps. Specifically, for the generation of adjoint codes, OpenAD/F supports various code reversal schemes with hierarchical checkpointing at the subroutine level. As an example from geophysical fluid dynamics a nonlinear time-dependent scalable, yet simple, barotropic ocean model is considered. OpenAD/F's reverse mode is applied to compute sensitivities of some of the model's transport properties with respect to gridded fields such as bottom topography as independent (control) variables.

AD Tools
OpenAD

BibTeX
@ARTICLE{
         Utke2008OAM,
       author = "Jean Utke and Uwe Naumann and Mike Fagan and Nathan Tallent and Michelle Strout and
         Patrick Heimbach and Chris Hill and Carl Wunsch",
       title = "Open{AD/F}: A Modular, Open-Source Tool for Automatic Differentiation of {Fortran}
         Codes",
       journal = "{ACM} Transactions on Mathematical Software",
       volume = "34",
       number = "4",
       pages = "18:1--18:36",
       year = "2008",
       doi = "10.1145/1377596.1377598",
       ad_tools = "OpenAD",
       abstract = "The OpenAD/F tool allows the evaluation of derivatives of functions defined by a
         Fortran program. The derivative evaluation is performed by a Fortran code resulting from the
         analysis and transformation of the original program that defines the function of interest. OpenADF
         has been designed with a particular emphasis on modularity, flexibility, and the use of open source
         components. While the code transformation follows the basic principles of automatic differentiation,
         the tool implements new algorithmic approaches at various levels, for example, for basic block
         preaccumulation and call graph reversal. Unlike most other automatic differentiation tools, OpenAD/F
         uses components provided by the OpenAD framework, which supports a comparatively easy extension of
         the code transformations in a language-independent fashion. It uses code analysis results
         implemented in the OpenAnalysis component. The interface to the language-independent transformation
         engine is an XML-based format, specified through an XML schema. The implemented transformation
         algorithms allow efficient derivative computations using locally optimized cross-country sequences
         of vertex, edge, and face elimination steps. Specifically, for the generation of adjoint codes,
         OpenAD/F supports various code reversal schemes with hierarchical checkpointing at the subroutine
         level. As an example from geophysical fluid dynamics a nonlinear time-dependent scalable, yet
         simple, barotropic ocean model is considered. OpenAD/F's reverse mode is applied to compute
         sensitivities of some of the model's transport properties with respect to gridded fields such
         as bottom topography as independent (control) variables."
}


back
  

Contact:
Username:
Password:
(lost password)