New Algorithmic Differentiation Tools and Services released by NAG and Aachen Collaboration
13 June 2014 - The Numerical Algorithms Group (NAG) Ltd and the Software and Tools for Computational Engineering (STCE) institute at RWTH Aachen University announce broader availability of their expert Algorithmic Differentiation (AD) services and tools to industry. The expert services and tools are based on more than ten years of collaboration between NAG and Aachen, and will be showcased at the International Supercomputing Conference 2014 in Leipzig.
AD provides a set of mathematically well-defined differentiation rules (symbolic partial derivatives of built-in functions combined with the chain rule of differential calculus) for transforming a given simulation program into computer code for computing sensitivities. It can be applied manually at the expense of often infeasible development time and the need for continuous synchronization of the original simulation program with its differentiated version. Hence, manual AD turns out to be incompatible with state of the art software engineering approaches taken by most developers of large simulation software packages.
Those utilizing AD in their computation reap huge rewards, however by nature it is non-trivial to do and a rare skillset in industry. Organizations lacking in AD skills can rely on NAG and Aachen to provide tried and trusted results. NAG and STCE have been collaborating with the specific objective of providing AD software and solutions to end users. Various AD solutions have been implemented at client level successfully as part of past and ongoing support and consultancy projects. The close interaction between end-users and AD software developers has been, and will remain, a central benefit of the NAG-Aachen approach. NAG can also provide the training of individuals or teams to enable in-house exploitation of the techniques.
AD software tools for simulations written in C/C++ and Fortran have been developed and are available via NAG. Both versions provide support for a continuously growing number of differentiated (first- and second-order adjoint) NAG Library routines.
Professor Naumann emphasizes that the defining properties of state of the art AD software technology include functionality (e.g., support for first- and higher-order adjoint modes), robustness (e.g., thread and exception safety), efficiency (e.g., low computational cost of an adjoint evaluation relative to the cost of running the underlying target code), flexibility (e.g., ability to implement arbitrary checkpointing schemes or definition of user-defined adjoint intrinsics), and sustainability (e.g., professional service, support, and user education). As part of their strategic partnership, NAG and STCE are in a unique position to address these issues.
John Holden, Vice-President Sales at NAG, said “I am delighted with the further development between NAG and RWTH Aachen resulting in growth in client adoption of our related products and services. AD is relevant to many HPC applications because they tend to be heavy compute and require derivatives (in the finance industry these might be referred to as sensitivities for hedging). As a consequence, we have jointly invested considerable time and effort in building suitable technologies such as AD tools, ensuring they complement the NAG Library as well as client codes (i.e. full Fortran or C++ compatibility as well support for CUDA).”
For more information contact NAG at http://www.nag.com or visit us on booth 850 at ISC14.