- Thursday 28th February: 10.30 – 18.00
- Friday 1st March: 09.00 – 15.00
Supported by recent trends in the finance industry including XVA and FRTB the general interest in Adjoint Algorithmic Differentiation (AAD) for financial simulations has grown substantially over the past years. While initially driven primarily by tier-1 investment banks smaller institutions have started adopting the technology as the preferred approach for computing sensitivities with respect to a very large number of impact factors. The dominating reason for this development is the fact that adjoints are the only feasible method for obtaining hundreds of thousands or even more sensitivities efficiently.
Integration of AAD into real-world scenarios yields a number of challenges ranging from prohibitive memory requirement when applied naively via various hurdles for runtime efficiency and scalability to consequences for software development and maintenance strategies. An educated decision on whether to adopt AAD or how to further evolve its use requires a relatively detailed understanding of the pitfalls to be encountered and of the AAD „tool box“. This course aims to facilitate such decisions.
Following a review of AAD theory and the derivation and hands-on practice of adjoint code generation rules we focus on “cures” for …
- prohibitive memory requirement (checkpointing, preaccumulation, to-be-recorded analysis)
- suboptimal runtime performance (symbolic adjoints, parallelism, sparsity)
- painful development and maintenance effort (tool support, automated preprocessing, debugging)
…of real-world adjoint solutions.
You will be provided with plenty of new insight into adjoint coding supported by
- An extensive slide deck
- Several sample programs (PDE, SDE)
- A prototype source to source adjoint code compiler for a simple scripting language
- An extended trial license for the industry leading AD tool for C++ (dco/c++)