Hierarchical Automatic Differentiation by Vertex Elimination and Source Transformation

  • Mohamed Tadjouddine
  • Shaun A. Forth
  • John D. Pryce
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2668)


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.


Computational Fluid Dynamic Basic Block Computational Graph Call Graph Abstract Syntax Tree 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Griewank, A., Corliss, G.: Automatic Differentiation of Algorithms. SIAM, Philadelphia (1991)zbMATHGoogle Scholar
  2. [2]
    Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)zbMATHGoogle Scholar
  3. [3]
    Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U., eds.: Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer (2002)Google Scholar
  4. [4]
    Bischof, C., Carle, A., Khademi, P., Mauer, A.: ADIFOR 2.0: Automatic differentiation of Fortran 77 programs. IEEE Computational Science & Engineering 3 (1996) 18–32CrossRefGoogle Scholar
  5. [5]
    Giering, R., Kaminski, T.: Recipes for Adjoint Code Construction. ACM Trans. on Math. Software 24 (1998) 437–474zbMATHCrossRefGoogle Scholar
  6. [6]
    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).Google Scholar
  7. [7]
    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).Google Scholar
  8. [8]
    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–1086Google Scholar
  9. [9]
    Griewank, A., Reese, S.: On the calculation of Jacobian matrices by the Markowitz rule. [1] 126–135Google Scholar
  10. [10]
    Naumann, U.: Elimination techniques for cheap Jacobians. [3] 241–246Google Scholar
  11. [11]
    Bischof, C., Roh, L., Mauer, A.: ADIC—An Extensible Automatic Differentiation Tool for ANSI-C. Software-Practice and Experience 27 (1997) 1427–1456CrossRefGoogle Scholar
  12. [12]
    Aho, A., Sethi, R., Ullman, J.: Compilers: principles, techniques, and tools. Addison-Wesley (1986)Google Scholar
  13. [13]
    Zima, H., Chapman, B.: Supercompilers for Parallel and Vector Computers. Addison-Wesley Publishing Company (1991)Google Scholar
  14. [14]
    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 (2001) See
  15. [15]
    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)Google Scholar
  16. [16]
    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–94Google Scholar
  17. [17]
    Tadjouddine, M., Forth, S.A., Pryce, J.D.: AD tools and prospects for optimal AD in CFD flux Jacobian calculations. [3] 247–252Google Scholar
  18. [18]
    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–100CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Mohamed Tadjouddine
    • 1
  • Shaun A. Forth
    • 1
  • John D. Pryce
    • 2
  1. 1.Applied Mathematics & Operational ResearchESD Cranfield University (RMCS Shrivenham)Swindon SN6 8LAUK
  2. 2.Computer Information Systems EngineeringDOIS Cranfield University (RMCS Shrivenham)Swindon SN6 8LAUK

Personalised recommendations