|
ABSTRACT
This article presents the first extended set of results from EliAD, a source-transformation implementation of the vertex-elimination Automatic Differentiation approach to calculating the Jacobians of functions defined by Fortran code (Griewank and Reese, Automatic Differentiation of Algorithms: Theory, Implementation, and Application, 1991, pp. 126--135). We introduce the necessary theory in terms of well known algorithms of numerical linear algebra applied to the linear, extended Jacobian system that prescribes the relationship between the derivatives of all variables in the function code. Using an example, we highlight the potential for numerical instability in vertex-elimination. We describe the source transformation implementation of our tool EliAD and present results from five test cases, four of which are taken from the MINPACK-2 collection (Averick et al, Report ANL/MCS-TM-150, 1992) and for which hand-coded Jacobian codes are available. On five computer/compiler platforms, we show that the Jacobian code obtained by EliAD is as efficient as hand-coded Jacobian code. It is also between 2 to 20 times more efficient than that produced by current, state of the art, Automatic Differentiation tools even when such tools make use of sophisticated techniques such as sparse Jacobian compression. We demonstrate the effectiveness of reverse-ordered pre-elimination from the (successively updated) extended Jacobian system of all intermediate variables used once. Thereafter, the monotonic forward/reverse ordered eliminations of all other intermediates is shown to be very efficient. On only one test case were orderings determined by the Markowitz or related VLR heuristics found superior. A re-ordering of the statements of the Jacobian code, with the aim of reducing reads and writes of data from cache to registers, was found to have mixed effects but could be very beneficial.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
Averick, B. M., Carter, R. G., Moré, J. J., and Xue, G.-L. 1992. The MINPACK-2 test problem collection. Preprint MCS--P153--0692, ANL/MCS--TM--150, Rev. 1, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, Ill. See ftp://info.mcs. anl.gov/pub/MINPACK-2/tprobs/P153.ps.Z.
|
| |
3
|
Bendtsen, C. and Stauning, O. 1996. FADBAD, A flexible C++ package for automatic differentiation. Tech. Rep. IMM-REP-1996-17, Technical University of Denmark, IMM, Departement of Mathematical Modeling, Lyngby.
|
| |
4
|
Berz, M., Bischof, C., Corliss, G., and Griewank, A., Eds. 1996. Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia, Pa.
|
| |
5
|
|
| |
6
|
Bischof, C. H. 1991. Issues in parallel automatic differentiation. In Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, Eds. SIAM, Philadelphia, Pa., 100--113.
|
| |
7
|
Bischof, C. H., Carle, A., Hovland, P. D., Khademi, P., and Mauer, A. 1998. ADIFOR 2.0 user's guide (Revision D). Tech. Rep., Mathematics and Computer Science Division Technical Memorandum no. 192 and Center for Research on Parallel Computation Technical Report CRPC-95516-S. See www.mcs.anl.gov/adifor.
|
| |
8
|
|
| |
9
|
Bischof, C. H. and Haghighat, M. R. 1996. Hierarchical approaches to automatic differentiation. In Computational Differentiation: Techniques, Applications, and Tools, M. Berz, C. Bischof, G. Corliss, and A. Griewank, Eds. SIAM, Philadelphia, Pa., 83--94.
|
| |
10
|
Bischof, C. H., Khademi, P. M., Bouaricha, A., and Carle, A. 1996b. Efficient computations of gradients and Jacobians by dynamic exploitation of sparsity in automatic differentiation. Optimiza. Meth. Softw. 7, 1--39.
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
George Corliss , Christèle Faure , Andreas Griewank , Lauren Hascoët , Uwe Naumann, Automatic differentiation of algorithms: from simulation to optimization, Springer-Verlag New York, Inc., New York, NY, 2000
|
| |
15
|
|
| |
16
|
Faure, C. and Papegay, Y. 1998. Odyssée User's Guide. Version 1.7. Rapport technique RT--0224, INRIA, Sophia-Antipolis, France. Sept. See www.inria.fr/RRRT/RT-0224.html, and www.inria.fr/safir/SAM/Odyssee/odyssee.html.
|
| |
17
|
Forth, S. A. 2001. User guide for MAD---A Matlab automatic differentiation toolbox. Applied Mathematics and Operational Research Report AMOR 2001/5, Cranfield University (RMCS Shrivenham), Swindon, SN6 8LA, UK. June.
|
| |
18
|
Forth, S. A. and Tadjouddine, M. 2003. CFD Newton solvers with EliAD, an elimination automatic differentiation tool. In Computational Fluid Dynamics 2002: Proceedings of the 2nd International Conference on Computational Fluid Dynamics, ICCFD (Sydney, Australia). S. Armfield, P. Morgan, and K. Srinivas, Eds., Springer-Verlag, New York, 134--139.
|
 |
19
|
|
| |
20
|
Goedecker, S. and Hoisie, A. 2001. Performance Optimisation of Numerically Intensive Codes. Software, Environments, Tools. SIAM, Philadelphia, Pa., ISBN 0-89871-482-3.
|
| |
21
|
|
| |
22
|
Griewank, A. and Corliss, G. F., Eds. 1991. Automatic Differentiation of Algorithms: Theory, Implementation, and Application. SIAM, Philadelphia, Pa.
|
 |
23
|
|
| |
24
|
Griewank, A. and Reese, S. 1991. On the calculation of Jacobian matrices by the Markowitz rule. In Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, Eds. SIAM, Philadelphia, Pa., 126--135.
|
| |
25
|
Hascoet, L., Naumann, U., and Pascual, V. 2003. TBR analysis in reverse mode automatic differentiation. In Future Generation Computer Systems. Elsevier, Amsterdam, The Netherlands.
|
| |
26
|
|
| |
27
|
|
| |
28
|
Markowitz, H. 1957. The elimination form of the inverse and its application. Manage. Sci. 3, 257--269.
|
| |
29
|
Naumann, U. 1999. Efficient calculation of Jacobian matrices by optimized application of the chain rule to computational graphs. Ph.D. thesis, Technical University of Dresden.
|
| |
30
|
|
| |
31
|
Naumann, U. 2003. Statement-level optimality of tangent-linear and adjoint models. Argonne National Laboratory, preprint, ANL/MCS-P-1066, June.
|
| |
32
|
|
| |
33
|
Parr, T., Lilly, J., Wells, P., Klaren, R., Illouz, M., Mitchell, J., Stanchfield, S., Coker, J., Zukowski, M., and Flack, C. 2000. ANTLR Reference Manual. Tech. Rep., MageLang Institute's jGuru.com. January. See www.antlr.org/doc/index.html.
|
| |
34
|
Pryce, J. D. and Reid, J. K. 1998. ADO1, A Fortran 90 code for automatic differentiation. Tech. Rep. RAL-TR-1998-057, Rutherford Appleton Laboratory, Chilton, Didcot, Oxfordshire, OX11 OQX, England. See ftp://matisa.cc.rl.ac.uk/pub/reports/prRAL98057.ps.gz.
|
| |
35
|
Reid, J. 2003. On the stability of automatic differentiation. In preparation.
|
| |
36
|
Roe, P. L. 1981. Approximate Riemann solvers, parameter vectors, and difference schemes. J. Computat. Phys. 43, 357--372.
|
| |
37
|
Tadjouddine, M. 1999. La différentiation automatique. Ph.D. dissertation, Université de Nice, Sophia Antipolis, France.
|
| |
38
|
|
| |
39
|
|
| |
40
|
Tadjouddine, M., Forth, S. A., and Pryce, J. D. 2003. Hierarchical automatic differentiation by vertex elimination and source transformation. In Proceedings of Computational Science and Its Applications---ICCSA 2003. Lecture Notes in Computer Science, vol. 2. Springer-Verlag, New York, 115--124.
|
| |
41
|
|
| |
42
|
Verma, A. 1998. ADMAT: Automatic differentiation in MATLAB using object oriented methods. In SIAM Interdisciplinary Workshop on Object Oriented Methods for Interoperability. SIAM, National Science Foundation, Yorktown Heights, N.Y., 174--183.
|
| |
43
|
|
|