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.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Wunsch, C.: The Ocean Circulation Inverse Problem. Cambridge U. Press, Cambridge (1996)
Aho, A., Sethi, R., Ullman, J.: Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)
Berz, M., Bischof, C., Corliss, G., Griewank, A. (eds.): Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia (1996)
Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U. (eds.): Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer, New York (2002)
Griewank, A., Corliss, G. (eds.): Automatic Differentiation of Algorithms: Theory, Implementation, and Application. SIAM, Philadelphia (1991)
Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Frontiers in Appl. Math., vol. 19. SIAM, Philadelphia (2000)
Naumann, U., Utke, J., Lyons, A., Fagan, M.: Control flow reversal for adjoint code generation. In: Proceedings of the Fourth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2004), Los Alamitos, CA, USA, pp. 55–64. IEEE Computer Society, Los Alamitos (2004)
Griewank, A.: Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation. Optimization Methods and Software 1, 35–54 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Naumann, U., Utke, J. (2005). Source Templates for the Automatic Generation of Adjoint Code Through Static Call Graph Reversal. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds) Computational Science – ICCS 2005. ICCS 2005. Lecture Notes in Computer Science, vol 3514. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11428831_42
Download citation
DOI: https://doi.org/10.1007/11428831_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26032-5
Online ISBN: 978-3-540-32111-8
eBook Packages: Computer ScienceComputer Science (R0)