Some numerical experiments with variable-storage quasi-Newton algorithms
Mathematical Programming: Series A and B
Recipes for adjoint code construction
ACM Transactions on Mathematical Software (TOMS)
Circumventing Storage Limitations in Variational Data Assimilation Studies
SIAM Journal on Scientific Computing
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Recomputations in reverse mode AD
Automatic differentiation of algorithms
Future Generation Computer Systems
Scientific Programming - High Performance Computing for Mission-Enabling Space Applications
A Framework for Proving Correctness of Adjoint Message-Passing Programs
Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Generating efficient derivative code with TAF
Future Generation Computer Systems
Coupling tangent-linear and adjoint models
ICCSA'03 Proceedings of the 2003 international conference on Computational science and its applications: PartII
Hi-index | 0.00 |
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.