Home // International Journal On Advances in Software, volume 5, numbers 1 and 2, 2012 // View article
Authors:
Michel Schanen
Michael Förster
Boris Gendler
Uwe Naumann
Keywords: Algorithmic Differentiation; Source Transformation; Optimization; Numerical Simulation; Checkpointing
Abstract:
Based on algorithmic differentiation, we present a derivative code compiler capable of transforming implementations of multivariate vector functions into a program for computing derivatives. Its unique reapplication feature allows the generation of code of an arbitrary order of differentiation, where resulting values are still accurate up to machine precision compared to the common numerical approximation by finite differences. The high memory load resulting from the adjoint model of Algorithmic Differentiation is circumvented using semi-automatic interprocedural checkpointing enabled by the joint reversal scheme implemented in our compiler. The entire process is illustrated by a one dimensional implementation of Burgers' equation in a generic optimization setting using for example Newton's method. In this implementation, finite differences are replaced by the computation of adjoints, thus saving an order of magnitude in terms of computational complexity.
Pages: 27 to 35
Copyright: Copyright (c) to authors, 2012. Used with permission.
Publication date: June 30, 2012
Published in: journal
ISSN: 1942-2628