Abstract
A major dificulty in quickly computing Jacobians by Automatic Differentiation is to deal with the nonzero structures of sparse matrices. We propose to detect the sparsity structure of Jacobians by static program analysis. The method consists in traversing the data dependence graph extended with the control-flow of the program and computing relations between array regions. Then, we safely extract informations about the dependences from program inputs to program outputs. The generation of the derived program uses these informations to produce a better result. We eventually, introduce the Automatic Differentiation tool Odyssée and present some benchmark tests.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Aho, R. Sethi and J. Ullman. COMPILATEURS: Principes, techniques et outils. InterEditions, 1989.
U. Banerjee. Loop transformations for restructuring compilers: the foundations. Boston, Dordrecht, London: Kluwer, 1993.
Christian H. Bischof, Ali Bouaricha, Peyvand M. Khademi, and Jorge J. Moré. Computing gradients in large-scale optimization using Automatic Differentiation. Preprint MCS-P488-0195, Mathematics and Computer Science Division, Argonne National Laboratory, June 1995.
C. H. Bischof, L. Roh, and A. J. Mauer-oats. ADIC: an extensible automatic difierentiation tool for ANSI-C. Software-Practice and Experience, vol. 27(12), 1427–1456, December 1997.
Aart J.C. Bik and Harry A.G. Wijshoff. Automatic data structure selection and transformation for sparse matrix computations. IEEE Transactions on Parallel and Distributed Systems, 7(2):109–126, 1996.
Vasanth Balasundaram and Ken Kennedy. A Tehnique for summarizing Data Access and Its Use in Parallelism Enhancing Transformations. Proceedings of the SIGPLAN conference on PLDI, Juin 1989.
Patrick Cousot and Radhia Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Symposium on Principles of Programming Languages, pages 238–252, 1977.
Béatrice Creusillet and François Irigoin. Exact vs. approximate array region analyses. In Languages and Compilers for Parallel Computing, August 1996.
David Callahan and Ken Kennedy. Analysis of Interprocedural side effects in a parallel programming environnement. Journal of Parallel and Distributed Computing, Juin 1988.
Thomas H. Colleman, and Jorge J. Moré. Estimation of sparse jacobian matrices and graph coloring problems. SIAM, Journal Numerical Analysis, Vol. 20, No. 1 February 1983.
Béatrice Creusillet Analyses de régions de tableaux et applications. Thèse de l’Ecole des Mines de Paris, 1996.
C. Faure, Y. Papegay. Odyssée Version 1.6. The language reference manual. Rapport Technique 211, INRIA, 1997.
A. Griewank, and G. Corlis. Automatic Differentiation of algorithms: theory, implementation and application. SIAM, 1991.
R. Giering. Tangent Linear and adjoint model compiler, users manul. unpublished information, Max-Planck Institut für Meteorologie Hambourg, Germany, 1996.
A. Griewank, D. Juedes and J. Utke. ADOL-C, a package for the automatic differentiation of algorithms written in C/C++. ACM Transactions on Mathematical Software, 22(2), pp: 131–167, 1996.
A. Griewank and S. Reese. On the Calculation of Jacobian Matrices by the Markowitz Rule for Vertex Elimination. Preprint MCS-P27-0491, Mathematics and Computer Science Division, Argonne National Laboratory, October 1991.
U. Geitner, J. Utke and A. Griewank. Automatic Computation of Sparse Jacobians by Applying the Method of Newsam and Ramsdell. to appear in: Computational Differentiation, Proceedings of the Second International Workshop, M. Berz et.al. eds, SIAM, Philadelphia, 1996.
Laurent Hascoët. Specifications of Partita Analyses. Version 1.4, INRIA, 1995.
Paul Havlack and Ken Kennedy. An Implementation of Interprocedural Bounded regular Section analysis. CRPC-TR-90063-S, March 1991.
Cristoph W. Kessler On the Applicability of Program Comprehension Techniques to the Automatic Parallelization of sparse Matrix Computations. Fachbereich IV-Informatik, Universität Trier, D-54286 Trier, Germany, 1997.
Wayne Kelly, William Pugh, Evan Rosser, and Tatiana Shpeisman. Transitive Closure of Infinite Graphs and its Applications. University of Maryland Institute for Advanced Computer Studies Dept. of Computer Science, Univ. of Maryland, April 1994.
François Masdupuy. Array indices relational semantic analysis using rational cosets and trapezoids PhD thesis. Ecole polytechnique, France, 1993.
G. N. Newsam and J. D. Ramsdell. Estimation of Sparse Jacobian Matrices. SIAM J. Alg. Disc. Meth., vol.4(3), pp.404–417., 1983.
Sergio Pissanetsky. Sparse Matrix Technology. Academic Press, London 1984.
William Pugh and David Wonnacott. An Exact Method for Analysis of Value-based Array Data Dependences. Proc. of the Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing, June 1992.
Nicole Rostaing, Stéphane Dalmas, and André Galligo. Automatic differentiation in odyssé e. Tellus, 45A(5):558–568, 1993.
Robert Sedgewick. Algorithms. Adison-Wesley Publishing Company, 1984.
H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers. Addison-Wesley Publishing Company, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tadjouddine, M., Eyssette, F., Faure, C. (1998). Sparse Jacobian Computation in Automatic Differentiation by Static Program Analysis. In: Levi, G. (eds) Static Analysis. SAS 1998. Lecture Notes in Computer Science, vol 1503. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49727-7_19
Download citation
DOI: https://doi.org/10.1007/3-540-49727-7_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65014-0
Online ISBN: 978-3-540-49727-1
eBook Packages: Springer Book Archive