Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Approximate Riemann solvers, parameter vectors, and difference schemes
Journal of Computational Physics - Special issue: commenoration of the 30th anniversary
ADIC: an extensible automatic differentiation tool for ANSI-C
Software—Practice & Experience
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
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
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
Making Automatic Differentiation Truly Automatic: Coupling PETSc with ADIC
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
Optimal accumulation of Jacobian matrices by elimination methods on the dual computational graph
Mathematical Programming: Series A and B
ACM Transactions on Mathematical Software (TOMS)
Optimal vertex elimination in single-expression-use graphs
ACM Transactions on Mathematical Software (TOMS)
A methodology for the development of discrete adjoint solvers using automatic differentiation tools
International Journal of Computational Fluid Dynamics
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
New Algorithms for Optimal Online Checkpointing
SIAM Journal on Scientific Computing
Hi-index | 0.00 |
The availability of first derivatives of vector functions is crucial for the robustness and efficiency of a large number of numerical algorithms. An upcoming new version of the differentiation-enabled NAGWare Fortran 95 compiler is described that uses programming language extensions and a semantic code transformation known as automatic differentiation to provide Jacobians of numerical programs with machine accuracy. We describe a new user interface as well as the relevant algorithmic details. In particular, we focus on the source transformation approach that generates locally optimal gradient code for single assignments by vertex elimination in the linearized computational graph. Extensive tests show the superiority of this method over the current overloading-based approach. The robustness and convenience of the new compiler-feature is illustrated by various case studies.