Skip to main content

Sparse Jacobian Computation in Automatic Differentiation by Static Program Analysis

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1503))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aho, R. Sethi and J. Ullman. COMPILATEURS: Principes, techniques et outils. InterEditions, 1989.

    Google Scholar 

  2. U. Banerjee. Loop transformations for restructuring compilers: the foundations. Boston, Dordrecht, London: Kluwer, 1993.

    MATH  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. Béatrice Creusillet and François Irigoin. Exact vs. approximate array region analyses. In Languages and Compilers for Parallel Computing, August 1996.

    Google Scholar 

  9. David Callahan and Ken Kennedy. Analysis of Interprocedural side effects in a parallel programming environnement. Journal of Parallel and Distributed Computing, Juin 1988.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Béatrice Creusillet Analyses de régions de tableaux et applications. Thèse de l’Ecole des Mines de Paris, 1996.

    Google Scholar 

  12. C. Faure, Y. Papegay. Odyssée Version 1.6. The language reference manual. Rapport Technique 211, INRIA, 1997.

    Google Scholar 

  13. A. Griewank, and G. Corlis. Automatic Differentiation of algorithms: theory, implementation and application. SIAM, 1991.

    Google Scholar 

  14. R. Giering. Tangent Linear and adjoint model compiler, users manul. unpublished information, Max-Planck Institut für Meteorologie Hambourg, Germany, 1996.

    Google Scholar 

  15. 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.

    Article  MATH  Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. Laurent Hascoët. Specifications of Partita Analyses. Version 1.4, INRIA, 1995.

    Google Scholar 

  19. Paul Havlack and Ken Kennedy. An Implementation of Interprocedural Bounded regular Section analysis. CRPC-TR-90063-S, March 1991.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. François Masdupuy. Array indices relational semantic analysis using rational cosets and trapezoids PhD thesis. Ecole polytechnique, France, 1993.

    Google Scholar 

  23. G. N. Newsam and J. D. Ramsdell. Estimation of Sparse Jacobian Matrices. SIAM J. Alg. Disc. Meth., vol.4(3), pp.404–417., 1983.

    Article  MATH  MathSciNet  Google Scholar 

  24. Sergio Pissanetsky. Sparse Matrix Technology. Academic Press, London 1984.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. Nicole Rostaing, Stéphane Dalmas, and André Galligo. Automatic differentiation in odyssé e. Tellus, 45A(5):558–568, 1993.

    Google Scholar 

  27. Robert Sedgewick. Algorithms. Adison-Wesley Publishing Company, 1984.

    Google Scholar 

  28. H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers. Addison-Wesley Publishing Company, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics