NAG Algorithmic Differentation Research Repository

Reports, Papers, Posters & Presentations
Pioneers in Algorithmic Differentiation Solutions
Learn more about AD methods and technologies

NAG are pioneers in providing Agorithmic Differentiation technologies. Over 15 person 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. 

NAG Algorithmic Differentiation Services

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