Abstract
Recomputation and storing are typically seen as tradeoffs for checkpointing schemes in the context of adjoint computations. At finer granularity during the adjoint sweep, in practice, only the store-all or recompute-all approaches are fully automated. This paper considers a heuristic approach for exploiting finer granularity recomputations to reduce the storage requirements and thereby improve the overall adjoint efficiency without the need for manual intervention.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bischof, C.H., Bücker, H.M., Hovland, P.D., Naumann, U., Utke, J. (eds.): Advances in Automatic Differentiation, Lecture Notes in Computational Science and Engineering, vol. 64. Springer, Berlin (2008). DOI 10.1007/978-3-540-68942-3
Bücker, H.M., Corliss, G.F., Hovland, P.D., Naumann, U., Norris, B. (eds.): Automatic Differentiation: Applications, Theory, and Implementations, Lecture Notes in Computational Science and Engineering, vol. 50. Springer, New York, NY (2005). DOI 10.1007/ 3-540-28438-9
Giering, R., Kaminski, T.: Recomputations in reverse mode AD. In: G. Corliss, C. Faure, A. Griewank, L. Hascoët, U. Naumann (eds.) Automatic Differentiation: From Simulation to Optimization, Computer and Information Science, chap. 33, pp. 283–291. Springer, New York (2002). URL http://www.springer.de/cgi-bin/search_book.pl?isbn=0-387-95305-1
Giering, R., Kaminski, T.: Applying TAF to generate efficient derivative code of Fortran 77-95 programs. Proceedings in Applied Mathematics and Mechanics 2(1), 54–57 (2003). URL http://www3.interscience.wiley.com/cgi-bin/issuetoc?ID=104084257
Griewank, A., Walther, A.: Algorithm 799: Revolve: An implementation of checkpoint for the reverse or adjoint mode of computational differentiation. ACM Transactions on Mathematical Software 26(1), 19–45 (2000). URL http://doi.acm.org/10.1145/347837.347846. Also appeared as Technical University of Dresden, Technical Report IOKOMO-04-1997.
Griewank, A., Walther, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, 2nd edn. No. 105 in Other Titles in Applied Mathematics. SIAM, Philadelphia, PA (2008). URL http://www.ec-securehost.com/SIAM/OT105.html
Hascoët, L., Araya-Polo, M.: The adjoint data-flow analyses: Formalization, properties, and applications. In: Bücker et al. [2], pp. 135–146. DOI 10.1007/3-540-28438-9{ _}12
Hascoët, L., Naumann, U., Pascual, V.: “To be recorded” analysis in reverse-mode automatic differentiation. Future Generation Computer Systems 21(8), 1401–1417 (2005). DOI 10.1016/j.future.2004.11.009
Lyons, A., Utke, J.: On the practical exploitation of scarsity. In: Bischof et al. [1], pp. 103–114. DOI 10.1007/978-3-540-68942-3_10
Utke, J.: Flattening basic blocks. In: Bücker et al. [2], pp. 121–133. DOI 10.1007/3-540-28438-9{ _}11
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), 18:1–18:36 (2008). DOI 10.1145/1377596. 1377598
Acknowledgements
This work was supported by the U.S. Department of Energy, under contract DE-AC02-06CH11357.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cole-Mullen, H., Lyons, A., Utke, J. (2012). Storing Versus Recomputation on Multiple DAGs. In: Forth, S., Hovland, P., Phipps, E., Utke, J., Walther, A. (eds) Recent Advances in Algorithmic Differentiation. Lecture Notes in Computational Science and Engineering, vol 87. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30023-3_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-30023-3_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-30022-6
Online ISBN: 978-3-642-30023-3
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)