Adjoint Compiler Technology

Computational inverse methods require adjoint codes to evaluate products of the transposed Jacobian of the underlying numerical model with a direction in the image space. The reverse mode of automatic differentiation provides the theoretical basis for adjoint compilers to generate adjoint version of numerical simulation programs automatically. This technique has been used successfully in the context of a large number of applications from computational science and engineering as reported during the past four international workshops on the topic. See www.autodiff.org for details and references.

The poster outlines the approach taken by adjoint compilers to generate adjoint codes automatically. Our ongoing research and development projects target, for example, the integration of adjoint capabilities within the NAGWare Fortran compiler (in collaboration with NAG Ltd. Oxford, UK). A language-independent infrastructure for adjoint generating algorithms (see www.mcs.anl.gov/openad) is under development in collaboration with colleagues at Argonne National Laboratory, MIT, and Rice University in the US.