Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
ADIC: an extensible automatic differentiation tool for ANSI-C
Software—Practice & Experience
Advanced compiler design and implementation
Advanced compiler design and implementation
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
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Automatic differentiation of algorithms: from simulation to optimization
Automatic differentiation of algorithms: from simulation to optimization
Recomputations in reverse mode AD
Automatic differentiation of algorithms
Automatic differentiation of algorithms
Adifor 2.0: Automatic Differentiation of Fortran 77 Programs
IEEE Computational Science & Engineering
ICCS '02 Proceedings of the International Conference on Computational Science-Part II
Towards differentiation-enabled Fortran 95 compiler technology
Proceedings of the 2003 ACM symposium on Applied computing
Automatic differentiation for optimum design, applied to sonic boom reduction
ICCSA'03 Proceedings of the 2003 international conference on Computational science and its applications: PartII
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
Proceedings of the 2007 ACM symposium on Applied computing
OpenAD/F: A Modular Open-Source Tool for Automatic Differentiation of Fortran Codes
ACM Transactions on Mathematical Software (TOMS)
May/must analysis and the DFAGen data-flow analysis generator
Information and Software Technology
Hi-index | 0.00 |
The automatic generation of adjoints of mathematical models that are implemented as computer programs is receiving increased attention in the scientific and engineering communities. Reverse-mode automatic differentiation is of particular interest for large-scale optimization problems. It allows the computation of gradients at a small constant multiple of the cost for evaluating the objective function itself, independent of the number of input parameters. Source-to-source transformation tools apply simple differentiation rules to generate adjoint codes based on the adjoint version of every statement. In order to guarantee correctness, certain values that are computed and overwritten in the original program must be made available in the adjoint program. For their determination we introduce a static data-flow analysis called "to be recorded" analysis. Possible overestimation of this set must be kept minimal to get efficient adjoint codes. This efficiency is essential for the applicability of source-to-source transformation tools to real-world applications.