2020
DOI: 10.1145/3378672
|View full text |Cite
|
Sign up to set email alerts
|

H-R evolve

Abstract: We study the problem of checkpointing strategies for adjoint computation on synchronous hierarchical platforms, specifically computational platforms with several levels of storage with different writing and reading costs. When reversing a large adjoint chain, choosing which data to checkpoint and where is a critical decision for the overall performance of the computation. We introduce H-Revolve, an optimal algorithm for this problem. We make it available in a public Python library along with the implementation… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
4
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
2
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 7 publications
0
4
0
Order By: Relevance
“…This can be used in conjunction with an adjoint framework such as tlm_adjoint or pyadjoint and a compatible PDE framework, such as Firedrake (Ham et al, 2023) or FEniCS (Alnaes et al, 2015), to enable users to create adjoint solvers for their choice of PDE, numerical methods, and checkpointing algorithm, all without recoding the underlying algorithms. Some of the algorithms supported by checkpointing_schedules have been implemented many times, while for others, such as H-Revolve the only previously published implementation was a simple proof of concept in the original paper (Herrmann & Pallez, 2020). The checkpoint schedule API provided by checkpoint_schedules further provides a toolkit for the implementation of further checkpoint schedules, thereby providing a direct route from algorithm developers to users.…”
Section: Statement Of Needmentioning
confidence: 99%
See 3 more Smart Citations
“…This can be used in conjunction with an adjoint framework such as tlm_adjoint or pyadjoint and a compatible PDE framework, such as Firedrake (Ham et al, 2023) or FEniCS (Alnaes et al, 2015), to enable users to create adjoint solvers for their choice of PDE, numerical methods, and checkpointing algorithm, all without recoding the underlying algorithms. Some of the algorithms supported by checkpointing_schedules have been implemented many times, while for others, such as H-Revolve the only previously published implementation was a simple proof of concept in the original paper (Herrmann & Pallez, 2020). The checkpoint schedule API provided by checkpoint_schedules further provides a toolkit for the implementation of further checkpoint schedules, thereby providing a direct route from algorithm developers to users.…”
Section: Statement Of Needmentioning
confidence: 99%
“…Currently, checkpoint_schedules is able to generate schedules for the following checkpointing schemes: Revolve (Stumm & Walther, 2009), disk-revolve (Aupy et al, 2016), periodic-disk revolve (Aupy & Herrmann, 2017), two-level (Pringle et al, 2016), H-Revolve (Herrmann & Pallez, 2020), and mixed storage checkpointing (James R. Maddison, 2023). It also contains trivial schedules that store the entire forward state.…”
Section: Software Descriptionmentioning
confidence: 99%
See 2 more Smart Citations