Saved in:
Bibliographic Details
Main Authors: Hascoët, Laurent, Bouchot, Jean-Luc, Gaikwad, Shreyas Sunil, Narayanan, Sri Hari Krishna, Hückelheim, Jan
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2405.15590
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910600737587200
author Hascoët, Laurent
Bouchot, Jean-Luc
Gaikwad, Shreyas Sunil
Narayanan, Sri Hari Krishna
Hückelheim, Jan
author_facet Hascoët, Laurent
Bouchot, Jean-Luc
Gaikwad, Shreyas Sunil
Narayanan, Sri Hari Krishna
Hückelheim, Jan
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2405_15590
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Profiling checkpointing schedules in adjoint ST-AD
Hascoët, Laurent
Bouchot, Jean-Luc
Gaikwad, Shreyas Sunil
Narayanan, Sri Hari Krishna
Hückelheim, Jan
Computation and Language
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.
title Profiling checkpointing schedules in adjoint ST-AD
topic Computation and Language
url https://arxiv.org/abs/2405.15590