Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++
ACM Transactions on Mathematical Software (TOMS)
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
ACM Transactions on Mathematical Software (TOMS)
Control Flow Reversal for Adjoint Code Generation
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Hi-index | 0.00 |
Using the basic reverse mode of automatic differentiation, the memory needed for the computation of discrete adjoints is proportional to the number of operations performed. This behavior is frequently not acceptable, especially for large-scale problems that involve a kind of time-stepping procedure. Therefore, we integrate a checkpointing mechanism into ADOL-C, a tool for the automatic differentiation of C and C++ programs. This checkpointing procedure is optimal for a given number of checkpoints in the sense that it yields the minimal number of recomputations. The resulting effects on the run-time behavior are illustrated by means of the derivative computation for an ODE-based optimization problem.