Source templates for the automatic generation of adjoint code through static call graph reversal

  • Authors:
  • Uwe Naumann;Jean Utke

  • Affiliations:
  • Software and Tools for Computational Engineering, RWTH Aachen University, Aachen, Germany;Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL

  • Venue:
  • ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new approach to the automatic generation of adjoint codes using automatic differentiation by source transformation. Our method relies on static checkpointing techniques applied to an extended version of the program's call graph. A code template is provided to implement a control structure governing the execution of the adjoint and augmented forward versions of each subroutine in the program. These code variants are generated automatically by algorithms that are independent of the programming language of the original code. The major advantage of this new approach is its flexibility with respect to various reversal schemes.