2000
DOI: 10.1145/347837.347846
|View full text |Cite
|
Sign up to set email alerts
|

Algorithm 799: revolve

Abstract: In its basic form, the reverse mode of computational differentiation yields the gradient of a scalar-valued function at a cost that is a small multiple of the computational work needed to evaluate the function itself. However, the corresponding memory requirement is proportional to the run-time of the evaluation program. Therefore, the practical applicability of the reverse mode in its original formulation is limited despite the availability of ever larger memory systems. This observation leads to the developm… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
214
0
1

Year Published

2006
2006
2022
2022

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 385 publications
(215 citation statements)
references
References 6 publications
0
214
0
1
Order By: Relevance
“…Instead of interpreting the elementary instructions appearing in low level source code such as C or FORTRAN, the elementary instructions are reinterpreted at the highest possible level of mathematical abstraction; in particular, in the finite element case, this means interpreting the program as a sequence of variational problems. This allows for the exploitation of the mathematical structure of the model, which has several key advantages: the adjoint models are derived with the minimum of user intervention, are measured to closely approximate optimal theoretical efficiency 2 , parallelise naturally, and make use of the optimal checkpointing strategy of Griewank and Walther [43]. However for time dependent problems the variational structure of a finite element model may be obscured.…”
Section: Adjoint Modelsmentioning
confidence: 99%
See 1 more Smart Citation
“…Instead of interpreting the elementary instructions appearing in low level source code such as C or FORTRAN, the elementary instructions are reinterpreted at the highest possible level of mathematical abstraction; in particular, in the finite element case, this means interpreting the program as a sequence of variational problems. This allows for the exploitation of the mathematical structure of the model, which has several key advantages: the adjoint models are derived with the minimum of user intervention, are measured to closely approximate optimal theoretical efficiency 2 , parallelise naturally, and make use of the optimal checkpointing strategy of Griewank and Walther [43]. However for time dependent problems the variational structure of a finite element model may be obscured.…”
Section: Adjoint Modelsmentioning
confidence: 99%
“…The checkpointing scheme currently checkpoints all TimeFunction dependencies (which, as noted above, may be sub-optimal), and requires a means of restoring time dependent parameters to be provided by the user. Since the forward model can be advanced with ease more advanced checkpointing algorithms, such as the method described in Griewank and Walther [43], could in principle be used, although such algorithms are not currently implemented. Figure 3 includes the derivation of a discrete adjoint model associated with the advection-diffusion model (13), with the calculation of a total derivative of a functional.…”
Section: Deriving a Discrete Adjoint Modelmentioning
confidence: 99%
“…Of interest to the computational uid dynamics community is the issue of uid ow control, where the numerical model used for solving the governing equations are solved by FV methods, using various slope limiters and, or the PPM scheme. It should be noted that in order to compute the adjoint variables in the backward direction, we require forward states to be available (as evident from the above piece of adjoint code) in memory or recompute them, see research on checkpointing [76,77] for discussion on the trade-o between storing in memory and recomputation.…”
Section: Data Assimilation Experimentsmentioning
confidence: 99%
“…The discrete adjoint method [16] is very attractive in practice since the discrete adjoint model can be generated with minimal user intervention via automatic differentiation [17]. Given the complexity of current numerical solvers, automatic generation of the adjoint code is a significant advantage over both finite-difference, and hand-coded (analytical) derivatives.…”
Section: Introductionmentioning
confidence: 99%