2013-04: Algorithmic Differentiation of a Complex C++ Code with Underlying Libraries
The following technical report is available from http://aib.informatik.rwth-aachen.de: Algorithmic Differentiation of a Complex C++ Code with Underlying Libraries Max Sagebaum, Nicolas R. Gauger, Uwe Naumann, Johannes Lotz, and Klaus Leppkes AIB 2013-04 Algorithmic differentiation (AD) is a mathematical concept which evolved over the last decades to a very robust and well understood tool for computation of derivatives. It can be applied to mathematical algorithms, codes for numerical simulation, and whenever derivatives are needed. In this paper we report on the algorithmic differentiation of the discontinuous Galerkin solver padge, a large and complex code written in C++ with underlying external libraries. The reports on successful application of AD to large scale codes are rare in literature and up to now this is not state of the art. Most of the codes, which are differentiated nowadays, are written in C or Fortran. The padge code was differentiated with the operator overloading tool dco/c++ in forward as well as reverse mode. The differentiated code is validated and runs in the expected time margins of AD.
participants (1)
-
Thomas Ströder