Abstract
In this paper, we present first results from EliAD, a new automatic differentiation tool. EliAD uses the Elimination approach for Automatic Differentation first advocated by Griewank and Reese [Automatic Differentiation of Algorithms, SIAM (1991), 126–135]. EliAD implements this technique via source-transformation, writing new Fortran code for the Jacobians of functions defined by existing Fortran code. Our results are from applying EliAD to the Roe flux routine commonly used in computational fluid dynamics. We show that we can produce code that calculates the associated flux Jacobian approaching or in excess of twice the speed of current state-of-the-art automatic differentiation tools. However, in order to do so we must take into account the architecture on which we are running our code. In particular, on processors that do not support out-of-order execution, we must reorder our derivative code so that values may be reused while in arithmetic registers in order that the floating point arithmetic pipeline may be kept full.
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
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) (to appear).
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
Faure, C., Papegay, Y.: Odyssée user’s guide, version 1.7. Technical Report 0224, INRIA, Unité de Recherche, INRIA, Sophia Antipolis, 2004 Route des Lucioles, B.P. 93, 06902, Sophia Antipolis Cedex, France (1998) See http://www.inria.fr/safir/SAM/Odyssee/odyssee.html.
Giering, R., Kaminski, T.: Recipes for adjoint code construction. ACM Transactions on Mathematical Software 24 (1998) 437–474
Tadjouddine, M., Forth, S.A., Pryce, J.D., Reid, J.K.: On the Implementation of AD using Elimination Methods via Source Transformation: Derivative code generation. AMOR Report 01/4, Cranfield University (RMCS Shrivenham), Swindon SN6 8LA, England (2001)
Tadjouddine, M., Pryce, J.D., Forth, S.A.: On the Implementation of AD using Elimination Methods via Source Transformation. AMOR Report 00/8, Cranfield University (RMCS Shrivenham), Swindon SN6 8LA, England (2000)
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 (2000) See http://www.antlr.org/doc/.
Griewank, A., Reese, S.: On the calculation of Jacobian matrices by the Markowitz rule. [1] 126–135
Naumann, U.: Efficient Calculation of Jacobian Matrices by Optimized Application of the Chain Rule to Computational Graphs. PhD thesis, Technical University of Dresden (1999)
Naumann, U.: Elimination techniques for cheap Jacobians. Faure, C., Griewank, A., Hascoët, L., Naumann, U., eds.: Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer (2002) [3] 241–246
Roe, P.L.: Approximate Riemann solvers, parameter vectors, and difference schemes. Journal of Computational Physics 43 (1981) 357–372
Tadjouddine, M., Forth, S.A., Pryce, J.D.: AD tools and prospects for optimal AD in CFD flux Jacobian calculations. Faure, C., Griewank, A., Hascoët, L., Naumann, U., eds.: Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer (2002) [3] 247–252
der Wijngaart, R.F.V., Saphir, W.C.: On the efficacy of source code optimizations for cache-based processors. NAS Technical Report NAS-00-014, NASA (2000)
Goedecker, S., Hoisie, A.: Performance Optimization of Numerically Intensive Codes. SIAM Philadelphia (2001)
Knuth, D.E.: The Art of Computer Programming, Volume 1: Fundamental Algorithms. Adison-Wesley (1997)
Averick, B.M., Moré, J.J.: User guide for the MINPACK-2 test problem collection. Technical Memorandum ANL/MCS-TM-157, Argonne National Laboratory, Argonne, Ill. (1991) Also issued as Preprint 91-101 of the Army High Performance Computing Research Center at the University of Minnesota.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tadjouddine, M., Forth, S.A., Pryce, J.D., Reid, J.K. (2002). Performance Issues for Vertex Elimination Methods in Computing Jacobians using Automatic Differentiation. In: Sloot, P.M.A., Hoekstra, A.G., Tan, C.J.K., Dongarra, J.J. (eds) Computational Science — ICCS 2002. ICCS 2002. Lecture Notes in Computer Science, vol 2330. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46080-2_113
Download citation
DOI: https://doi.org/10.1007/3-540-46080-2_113
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43593-8
Online ISBN: 978-3-540-46080-0
eBook Packages: Springer Book Archive