Adjoint computations by algorithmic differentiation of a parallel solver for time-dependent PDEs
J. I. Cardesa, L. Hasco\"et, C. Airiau

TL;DR
This paper presents a novel method for deriving adjoint codes of a CFD solver for time-dependent PDEs using algorithmic differentiation, leveraging MPI inversion and checkpointing for efficiency.
Contribution
It introduces a unique approach to invert MPI communications with AD and efficiently handle long time integrations in adjoint computations.
Findings
Successful derivation of adjoint code with MPI inversion
Validation of derivatives against analytical or numerical benchmarks
Performance comparison showing efficiency of the adjoint implementation
Abstract
A computational fluid dynamics code is differentiated using algorithmic differentiation (AD) in both tangent and adjoint modes. The two novelties of the present approach are 1) the adjoint code is obtained by letting the AD tool Tapenade invert the complete layer of message passing interface (MPI) communications, and 2) the adjoint code integrates time-dependent, non-linear and dissipative (hence physically irreversible) PDEs with an explicit time integration loop running for ca. time steps. The approach relies on using the Adjoinable MPI library to reverse the non-blocking communication patterns in the original code, and by controlling the memory overhead induced by the time-stepping loop with binomial checkpointing. A description of the necessary code modifications is provided along with the validation of the computed derivatives and a performance comparison of the tangent…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
