Automatic Generation of Efficient Adjoint Code for a Parallel Navier-Stokes Solver

  • Authors:
  • Patrick Heimbach;Chris Hill;Ralf Giering

  • Affiliations:
  • -;-;-

  • Venue:
  • ICCS '02 Proceedings of the International Conference on Computational Science-Part II
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe key computational aspects of automatic differentiation applied to the global ocean state estimation problem. The task of minimizing a cost function measuring the ocean simulation vs. observation misfit is achieved through efficient calculation of the cost gradient w.r.t. a set of controls via the adjoint technique. The adjoint code of the parallel MIT general circulation model is generated using TAMC. To achieve a tractable problem in both CPU and memory requirements, despite the control flow reversal, the adjoint code relies heavily on the balancing of storing vs. recomputation via the checkpointing method. Further savings are achieved by exploiting self-adjointedness of part of the computation. To retain scalability of the domain decomposition, handwritten adjoint routines are provided which complement routines of the parallel support package (such as inter-processor communications, global operations, active variable I/O) to perform corresponding operations in reverse mode. The size of the problem is illustrated for the global ocean estimation problem and results are given by way of example.