From 5c5e36e819a539a8f335fb6a0cee3ba2ec1dbb71 Mon Sep 17 00:00:00 2001 From: "James R. Maddison" Date: Mon, 12 Aug 2024 17:29:33 +0100 Subject: [PATCH] Preprint -> published article --- docs/source/acknowledgements.rst | 5 +++-- tlm_adjoint/checkpoint_schedules/mixed.py | 8 ++++---- tlm_adjoint/checkpoint_schedules/schedule.py | 6 +++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/source/acknowledgements.rst b/docs/source/acknowledgements.rst index 9a94fb73..48b240cb 100644 --- a/docs/source/acknowledgements.rst +++ b/docs/source/acknowledgements.rst @@ -20,8 +20,9 @@ based on the approach described in Checkpointing with tlm_adjoint is described in -- James R. Maddison, 'On the implementation of checkpointing with high-level - algorithmic differentiation', https://arxiv.org/abs/2305.09568v1, 2023 +- James R. Maddison, 'Step-based checkpointing with high-level algorithmic + differentiation', Journal of Computational Science 82, 102405, 2024, + doi: 10.1016/j.jocs.2024.102405 References ---------- diff --git a/tlm_adjoint/checkpoint_schedules/mixed.py b/tlm_adjoint/checkpoint_schedules/mixed.py index 05aa687a..6ada77f2 100644 --- a/tlm_adjoint/checkpoint_schedules/mixed.py +++ b/tlm_adjoint/checkpoint_schedules/mixed.py @@ -148,11 +148,11 @@ class MixedCheckpointSchedule(CheckpointSchedule): required to restart the forward has the same size as the data required to advance the adjoint over a step. - An updated version of the algorithm described in + Described in - - James R. Maddison, 'On the implementation of checkpointing with - high-level algorithmic differentiation', - https://arxiv.org/abs/2305.09568v1, 2023 + - James R. Maddison, 'Step-based checkpointing with high-level + algorithmic differentiation', Journal of Computational Science 82, + 102405, 2024, doi: 10.1016/j.jocs.2024.102405 Offline, one adjoint calculation permitted. diff --git a/tlm_adjoint/checkpoint_schedules/schedule.py b/tlm_adjoint/checkpoint_schedules/schedule.py index ccb0a2f8..cb70f396 100644 --- a/tlm_adjoint/checkpoint_schedules/schedule.py +++ b/tlm_adjoint/checkpoint_schedules/schedule.py @@ -264,9 +264,9 @@ def action_forward(cp_action): dependency data either for storage in checkpointing units or for immediate use by the adjoint. For details see - - James R. Maddison, 'On the implementation of checkpointing with - high-level algorithmic differentiation', - https://arxiv.org/abs/2305.09568v1, 2023 + - James R. Maddison, 'Step-based checkpointing with high-level + algorithmic differentiation', Journal of Computational Science 82, + 102405, 2024, doi: 10.1016/j.jocs.2024.102405 In 'offline' schedules, where the number of steps in the forward calculation is initially known, this should be provided using the `max_n`