sequence of changes to the
adjoint model |
run time |
doubles tape storage requirements |
comments |
|
doubles |
integers |
|||
strict joint mode (1 template); trivial activity analysis; checkpoint storage local to subroutine |
3:39 143:37 |
9.803 317.803 |
30.574 1.080.754 |
a pure split mode is infeasible
due to the implied memory requirements for the tape |
2 level checkpointing (4
templates); |
2:59 141:20 |
30.287 1.052.527 |
91.293 3.256.033 |
the low level subroutines in the
call tree are handled by split mode, therefore the maximal size of the
tape held at a particular point in time increases. Note in particular
that the time for the 180x80 configuration does not decrease in this
experiment as the data access dominates the run time |
modified reversal for "simple"
loops; improved taping/checkpointing code; |
0:45 46:02 |
30.287 1.052.527 |
7.794 259.854 |
in "simple" loops we avoid
storing certain addresses |
inter-procedural activity analysis |
0:30 21:51 |
10.801 388.801 |
904 14.964 |
reducing the set of active
variables, i.e. the amount of values to be taped. |
For the configuration that is of practical interest we show, as an example output, a map of
sensitivities of zonal volume transport through the Drake Passage to
changes in bottom topography everywhere in a barotropic ocean model
(thanks to P. Heimbach).