Model | Model Reference | Lines | Language | Main Loop | TLM | ADM | comment | HES | AD References |
LIBOR | Brace et al. (1997) | approx. 100 | C | - | 5.4/80 | 3.7 | - | - | Giles (2007) |
Two-stream | Pinty et al. (2006) | approx. 330 | C | - | 1.7 | 3.8 | - | 23/7 | Lavergne et al. (2006), Pinty et al. (2007) |
ROF (Computer Vision) | Pock et al. (2007) | approx. 60 | C | - | 1.6 | 1.9 | - | - | Pock et al. (2007) |
TAUij (1 core routine) | Gerhold (2005) | 130 | C | - | - | 2.3 | - | - | Voßbeck et al. (2008) |
EULSOLDO | Cusdin and Müller (2003) | 140 | C | - | 2.2 | 3.2 | - | - | Voßbeck et al. ( 2004 , 2008 ) |
In most of the applications the TLM computes the product of Jacobian times one vector. Whereever there is more than one vector we print: CPU time ratio / # of vectors.
The entry "Yes" means that there is a TLM, but we don't have the performance, whereas "-" means that there is no TLM.
In all examples the CPU time for the derivative of a scalar valued function is given.
Note that a 2 level checkpointing scheme (see, e.g. Giering and Kaminski, 2002) consumes the CPU time of about one additional function evaluation. For example the adjoint of IMBETHY has a CPU time ratio of about 3.6 - 1 = 2.6 for short integrations, which do not require a checkpointing scheme. 3 level checkpointing costs two additional function evaluations.
If the number of columns is not equal one, we print: CPU time ratio / # of columns.
"-" means that there is no Hessian code.