NAG Algorithmic Differentation Research Repository
NAG are pioneers in providing Agorithmic Differentiation technologies. Over 15 man years have been dedicated to researching and developing technologies to aid AD computation. Delve into our AD Research Repository and learn more about what we do in this arena.
- Technical Poster: CVA at Scale with Adjoint Sensitivities – Combining the NAG Library with dco/c++ and Origami
- Technical Poster: High Performance Tape-Free Adjoint AD for C++11
- Technical Report: Adjoint Algorithmic Differentiation Tool Support for Typical Numerical Patterns in Computational Finance
- Presentation Slides: Second Order Sensitivities: AAD Construction and Use for CPU and GPU
- Technical Report: Computing Sensitivities of CVA using Adjoint Algorithmic Differentiation
- Technical Poster: From Runtime to Compile Time Adjoints
- Technical Report: Exact First- and Second-Order Greeks by Algorithmic Differentiation
- AD Developer Team Interview: Tool Based Approach to Algorithmic Differentiation of Adjoint Methods
- Technical Report: Adjoint Algorithmic Differentiation of a GPU Accelerated Application
- Technical Report: Toward Adjoint Based Optimization in Computational Finance
- Presentation Slides: Adjoint Methods in Computational Finance
NAG AD Solutions get your business AD ready ahead of your competition
Adopting AD is a serious undertaking with far-reaching implications for the business, its software assets, and the productivity of its staff. NAG has been helping customers implement AD for over 10 years: we have a wealth of experience which we offer through our AD Solutions. Blue chip clients are reaping the benefits of NAG’s expertise in this field, and others could benefit extensively from implementing NAG AD Solutions.
NAG AD Solutions provide:
- AD Proof of Concept (PoC) Studies
- Software Tools (dco/c++ and dco/map)
- ‘In-house’ Training
- Ongoing Technical Support
The most advanced commercially supported AD tools on the market
NAG provides best-in-class C++ operator-overloading AD tools called dco (derivative computation through overloading) and dco/map (dco meta adjoint programming).
- dco/c++ integrates easily with your code base, is extremely flexible, and has been applied to huge (millions of lines) production codes
- dco/c++ allows the memory use of adjoint codes to be constrained almost arbitrarily
- dco/map is a cutting edge C++11 tape free operator overloading AD tool designed specifically to handle accelerators (GPUs, Xeon Phi, etc). An overview is available here: New Technical Poster: High Performance Tape-Free Adjoint AD for C++11
- dco/map combines the benefits of operator overloading (easy application, one single source code) with the benefits of handwritten adjoints (very fast and minimal memory use)
- dco/map can handle the race conditions inherent in parallel adjoint codes easily and efficiently
- dco/c++ and dco/map are easily coupled to create AAD implementations of heterogeneous codes
Learn more about NAG AD Software Tools.
NAG AD Software Tools are very efficient. However, it is sometimes desirable to produce an AD implementation in a different way, often to handle computationally expensive sections of code. Typically, this is through hand-writing an adjoint implementation, or using a high-performance tool such as dco/map to make the AD implementation, or even porting the AD code to a GPU. NAG AD Solution services can assist in all these cases, whether it be writing adjoints for particular pieces of code, or porting to GPU and making GPU adjoint implementations. Contact us for more information.