27 September 2018 – WBS 14th Quant Finance Conference, Nice, the Numerical Algorithms Group (NAG), experts in algorithms, software, and HPC, publish new work in their Technical Poster ‘CVA at Scale with Adjoint Sensitivities’. Alongside this work, for the first time, NAG have introduced a set of Algorithmic Differentiation (AD) enabled algorithms within their flagship NAG Library and announce further updates to dco/c++ - AD software tool for computing sensitivities of C++ codes.
The technical poster tackles the performance challenge in calculating XVA and presents a software-based solution using AD-enabled (adjoint and tangent) versions of NAG Library algorithms, dco/c++, and Origami, (a light-weight task execution framework for grid and cloud). This solution offers users a way to manage the CVA at scale challenge in a cohesive and cost-effective way.
NAG AD Tools + new AD NAG Library = full front to back sensitivities
Launched at the WBS Quant Finance Conference, the NAG AD Library provides expertly developed, tested, documented, and supported numerical and statistical routines that make the Algorithmic Differentiation process quicker, more efficient and productive, and eliminates the need to write your own code or rely on unsupported code. The Library has been designed so that it can be used with or without any Algorithmic Differentiation (AD) tool; however, the conversion from code containing calls to primal routines to an adjoint version becomes most seamless when combined with NAG’s AD tool, dco/c++.
Computing sensitivities of C++ codes with dco/c++
dco/c++ is an (A)AD software tool for computing sensitivities of C++ codes with a slick API. The tool is easy to learn, easy to use, can be applied quickly to a code base, and integrates easily with build and testing frameworks. Arbitrary order derivatives of any code can be computed, accurate to machine precision; the tool can answer all your sensitivity-related questions. Tier 1 and 2 banks have applied it to their core pricing and risk libraries and use it in production; the tool has been battle proven, at scale, by several institutions for their XVA applications.
Origami: A DAG Execution Engine
Origami is a framework and platform for execution of software in large (CPU), massive (GPU), and Hybrid (CPU/GPU) environments. Origami delivers a combination of tools and frameworks to facilitate working with Grids allowing users to describe their problems as a series of individual tasks or use the powerful DAG (Directed Acyclic Graphs) manager and describe a complete workflow of independent tasks. Origami reports various statistics including full accountability figures for hardware use on a per-task basis. The result is a flexible, high performance execution engine aimed at business productivity and transparency.
The NAG AD Library, dco/c++, and Origami are available for Linux and Microsoft Windows.