Abstract
We present a hierarchical scheme to extend the applicability of automatic differentiation (AD) by vertex elimination from the basic block level to code with branches and subroutine calls. We introduce the EliAD tool that implements our scheme. Results from computational fluid dynamics (CFD) flux linearisations show runtime speedup by a typical factor of two over both finite-differencing and traditional forward and reverse modes of AD.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Griewank, A., Corliss, G.: Automatic Differentiation of Algorithms. SIAM, Philadelphia (1991)
Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)
Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U., eds.: Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer (2002)
Bischof, C., Carle, A., Khademi, P., Mauer, A.: ADIFOR 2.0: Automatic differentiation of Fortran 77 programs. IEEE Computational Science & Engineering 3 (1996) 18–32
Giering, R., Kaminski, T.: Recipes for Adjoint Code Construction. ACM Trans. on Math. Software 24 (1998) 437–474
Forth, S.A., Tadjouddine, M., Pryce, J.D., Reid, J.K.: Jacobian Code Generated by Source Transformation and Vertex Elimination is as Efficient as Hand-coding. ACM Trans. on Math. Software (2002) (submitted).
Forth, S.A., Tadjouddine, M.: CFD Newton Solvers with EliAD, An Elimination Automatic Differentiation Tool. In: Int. Conf. on CFD. Springer-Verlag, Sydney (2003) (to appear).
Tadjouddine, M., Forth, S.A., Pryce, J.D., Reid, J.K.: Performance Issues for Vertex Elimination Methods in Computing Jacobians using Automatic Differentiation. In Sloot, P.M., Tan, C.K., Dongarra, J.J., Hoekstra, A.G., eds.: ICCS, Part II. Volume 2330 of LNCS. Springer, Amsterdam (2002) 1077–1086
Griewank, A., Reese, S.: On the calculation of Jacobian matrices by the Markowitz rule. [1] 126–135
Naumann, U.: Elimination techniques for cheap Jacobians. [3] 241–246
Bischof, C., Roh, L., Mauer, A.: ADIC—An Extensible Automatic Differentiation Tool for ANSI-C. Software-Practice and Experience 27 (1997) 1427–1456
Aho, A., Sethi, R., Ullman, J.: Compilers: principles, techniques, and tools. Addison-Wesley (1986)
Zima, H., Chapman, B.: Supercompilers for Parallel and Vector Computers. Addison-Wesley Publishing Company (1991)
Parr, T., Lilly, J., Wells, P., Klaren, R., Illouz, M., Mitchell, J., Stanchfield, S., Coker, J., Zukowski, M., Flack, C.: ANTLR Reference Manual. Technical report, MageLang Institute’s jGuru.com (2001) See http://www.antlr.org/doc/.
Naumann, U., Forth, S.A., Tadjouddine, M., Pryce, J.D.: A Standard Interface for Elimination Sequences in Automatic Differentiation (Version 1). AMOR Report 01/3, Cranfield University (RMCS Shrivenham)Swindon SN6 8LA, UK (2001)
Bischof, C.H., Haghighat, M.R.: Hierarchical approaches to automatic differentiation. In Berz, M., Bischof, C., Corliss, G., Griewank, A., eds.: Computational Differentiation: Tech., Appli., and Tools. SIAM, Philadelphia, Penn. (1996) 83–94
Tadjouddine, M., Forth, S.A., Pryce, J.D.: AD tools and prospects for optimal AD in CFD flux Jacobian calculations. [3] 247–252
Creusillet, B., Irigoin, F.: Exact vs. Approximate Array Region Analyses. In Sehr, D.C., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D.A., eds.: Lang. and Comp. for Parallel Computing. Volume 1239 of LNCS. Springer (1997) 86–100
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tadjouddine, M., Forth, S.A., Pryce, J.D. (2003). Hierarchical Automatic Differentiation by Vertex Elimination and Source Transformation. In: Kumar, V., Gavrilova, M.L., Tan, C.J.K., L’Ecuyer, P. (eds) Computational Science and Its Applications — ICCSA 2003. ICCSA 2003. Lecture Notes in Computer Science, vol 2668. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44843-8_13
Download citation
DOI: https://doi.org/10.1007/3-540-44843-8_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40161-2
Online ISBN: 978-3-540-44843-3
eBook Packages: Springer Book Archive