Second-Order Algorithmic Differentiation by Source Transformation of MPI Code

A source transformation tool for algorithmic differentiation is introduced, capable of transforming MPI-enabled code into secondorder adjoint code. Our derivative code compiler (dcc) is used for the source transformation while a runtime library handles the adjoining of the MPI routines. This paper describes in detail the link between these two components in order to compute second derivatives. This process is illustrated by a simplified parallel implementation of Burgers' equation in a second-order optimization setting, for example, Newton's method.