Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Recipes for adjoint code construction
ACM Transactions on Mathematical Software (TOMS)
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
A simple automatic derivative evaluation program
Communications of the ACM
Automatic differentiation of algorithms: from simulation to optimization
Automatic differentiation of algorithms: from simulation to optimization
Elimination techniques for cheap Jacobians
Automatic differentiation of algorithms
Optimal accumulation of Jacobian matrices by elimination methods on the dual computational graph
Mathematical Programming: Series A and B
Control Flow Reversal for Adjoint Code Generation
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Representation-independent program analysis
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Future Generation Computer Systems
"To be recorded" analysis in reverse-mode automatic differentiation
Future Generation Computer Systems
Efficient reversal of the intraprocedural flow of control in adjoint computations
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Automatic Differentiation: Applications, Theory, and Implementations (Lecture Notes in Computational Science and Engineering)
Optimal Jacobian accumulation is NP-complete
Mathematical Programming: Series A and B
Markowitz-type heuristics for computing Jacobian matrices efficiently
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartII
Linearity analysis for automatic differentiation
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Source templates for the automatic generation of adjoint code through static call graph reversal
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
A Framework for Proving Correctness of Adjoint Message-Passing Programs
Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Second-order algorithmic differentiation by source transformation of MPI code
EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
A wish list for efficient adjoints of one-sided MPI communication
EuroMPI'12 Proceedings of the 19th European conference on Recent Advances in the Message Passing Interface
The Tapenade automatic differentiation tool: Principles, model, and specification
ACM Transactions on Mathematical Software (TOMS)
Scientific Programming - A New Overview of the Trilinos Project --Part 1
Hi-index | 0.00 |
The Open/ADF 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. Open/ADF 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, Open/ADF uses components provided by the Open/AD 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, Open/ADF 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.