Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
169 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Profiling checkpointing schedules in adjoint ST-AD (2405.15590v2)

Published 24 May 2024 in cs.CL

Abstract: Checkpointing is a cornerstone of data-flow reversal in adjoint algorithmic differentiation. Checkpointing is a storage/recomputation trade-off that can be applied at different levels, one of which being the call tree. We are looking for good placements of checkpoints onto the call tree of a given application, to reduce run time and memory footprint of its adjoint. There is no known optimal solution to this problem other than a combinatorial search on all placements. We propose a heuristics based on run-time profiling of the adjoint code. We describe implementation of this profiling tool in an existing source-transformation AD tool. We demonstrate the interest of this approach on test cases taken from the MITgcm ocean and atmospheric global circulation model. We discuss the limitations of our approach and propose directions to lift them.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (15)
  1. Profiling JAX programs. https://jax.readthedocs.io/en/latest/profiling.html, 2024. Online; accessed 13 May 2024.
  2. MITgcm User Manual. Available at https://mitgcm.readthedocs.io.
  3. B. Christianson. Reverse accumulation and attractive fixed points. 1994. Original article can be found at: http://www.informaworld.com/smpp/title content=t713645924 db=all Copyright Taylor and Francis / Informa. [Originally issued in 1992 as UH Technical Report 258].
  4. Mitgcm-ad v2: Open source tangent linear and adjoint modeling framework for the oceans and atmosphere enabled by the automatic differentiation tool tapenade, 2024.
  5. R. Giering and T. Kaminski. Recipes for Adjoint Code Construction. ACM Transactions on Mathematical Software, 24(4):437–474.
  6. An optimized treatment for algorithmic differentiation of an important glaciological fixed-point problem. Geoscientific Model Development, 9(5):1891–1904, 2016.
  7. Representing grounding line migration in synchronous coupling between a marine ice sheet model and a z-coordinate ocean model. Ocean Modelling, 125:45–60, 2018.
  8. A. Griewank and A. Walther. 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. Also appeared as Technical University of Dresden, Technical Report IOKOMO-04-1997.
  9. A. Griewank and A. Walther. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Number 105 in Other Titles in Applied Mathematics. SIAM, Philadelphia, PA, 2nd edition, 2008.
  10. L. Hascoët and V. Pascual. The Tapenade Automatic Differentiation tool: Principles, Model, and Specification. ACM Transactions On Mathematical Software, 39(3), 2013.
  11. H-revolve: A framework for adjoint computation on synchronous hierarchical platforms. ACM Trans. Math. Softw., 46(2), jun 2020.
  12. Ocean-forced ice-shelf thinning in a synchronously coupled ice-ocean model. Journal of Geophysical Research: Oceans, 123(2):864–882, 2018.
  13. A finite-volume, incompressible Navier Stokes model for studies of the ocean on parallel computers. J. Geophys. Res. Oceans, 102:5753–5766, 1997.
  14. U. Naumann. DAG reversal is NP-complete. Journal of Discrete Algorithms, 7(4):402–410, 2009.
  15. 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.
Citations (1)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com

Tweets