Skip to main content

Call Tree Reversal is NP-Complete

  • Conference paper
Advances in Automatic Differentiation

Part of the book series: Lecture Notes in Computational Science and Engineering ((LNCSE,volume 64))

Summary

The data flow of a numerical program is reversed in its adjoint. We discuss the combinatorial optimization problem that aims to find optimal checkpointing schemes at the level of call trees. For a given amount of persistent memory the objective is to store selected arguments and/or results of subroutine calls such that the overall computational effort (the total number of floating-point operations performed by potentially repeated forward evaluations of the program) of the data-flow reversal is minimized. CALL TREE REVERSAL is shown to be NP-complete.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 139.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 179.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berz, M., Bischof, C., Corliss, G., Griewank, A. (eds.): Computational Differentiation: Techniques, Applications, and Tools, Proceedings Series. SIAM (1996)

    MATH  Google Scholar 

  2. Bücker, M., Corliss, G., Hovland, P., Naumann, U., Norris, B. (eds.): Automatic Differentiation: Applications, Theory, and Tools, no. 50 in Lecture Notes in Computational Science and Engineering. Springer, Berlin (2005)

    Google Scholar 

  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. Corliss, G., Griewank, A. (eds.): Automatic Differentiation: Theory, Implementation, and Application, Proceedings Series. SIAM (1991)

    MATH  Google Scholar 

  5. Garey, M., Johnson, D.: Computers and Intractability - A Guide to the Theory of NP-completeness. W. H. Freeman and Company (1979)

    Google Scholar 

  6. Giering, R., Kaminski, T.: Recomputations in reverse mode AD. In: [3], chap. 33, pp. 283–291 (2001)

    Google Scholar 

  7. Griewank, A.: Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation. Optimization Methods and Software 1, 35–54 (1992)

    Article  Google Scholar 

  8. Griewank, A.: Evaluating Derivatives. Principles and Techniques of Algorithmic Differentiation. SIAM (2000)

    Google Scholar 

  9. Griewank, A., Juedes, D., Utke, J.: ADOL–C, a package for the automatic differentiation of algorithms written in C/C++. ACM Transactions on Mathematical Software 22(2), 131–167 (1996)

    Article  MATH  Google Scholar 

  10. Hascoët, L., Araya-Polo, M.: The adjoint data-flow analyses: Formalization, properties, and applications. In: [2], pp. 135–146. Springer (2005)

    Google Scholar 

  11. Hascoët, L., Naumann, U., Pascual, V.: To-be-recorded analysis in reverse mode automatic differentiation. Future Generation Computer Systems 21, 1401–1417 (2005)

    Article  Google Scholar 

  12. Hascoët, L., Pascual, V.: Tapenade 2.1 user’s guide. Technical report 300, INRIA (2004). URL http://www.inria.fr/rrrt/rt-0300.html

  13. Naumann, U.: DAG reversal is NP-complete. J. Discr. Alg. (2008). To appear.

    Google Scholar 

  14. Naumann, U., Riehme, J.: A differentiation-enabled Fortran 95 compiler. ACM Transactions on Mathematical Software 31(4), 458–474 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  15. Utke, J., Naumann, U., Fagan, M., Tallent, N., Strout, M., Heimbach, P., Hill, C., Wunsch, C.: OpenAD/F: A modular, open-source tool for automatic differentiation of Fortran codes. ACM Transactions on Mathematical Software 34(4) (2008). To appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Naumann, U. (2008). Call Tree Reversal is NP-Complete. In: Bischof, C.H., Bücker, H.M., Hovland, P., Naumann, U., Utke, J. (eds) Advances in Automatic Differentiation. Lecture Notes in Computational Science and Engineering, vol 64. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68942-3_2

Download citation

Publish with us

Policies and ethics