Differentiation-Enabled Fortran 95 Compiler Technology (CompAD-II)

Lead Research Organisation: University of Hertfordshire
Department Name: Science and Technology RI

Abstract

Given a Fortran program which evaluates numerically a scalar output y=f(x) from a vector x of input values, we are frequently interested in evaluating the gradient vector g=f '(x) whose components are the derivatives (sensitivities) dy/dx.Automatic Differentiation is a set of techniques for the automatic transformation of the program for evaluating f into a program for evaluating f '. In particular the adjoint, or reverse, mode of Automatic Differentiation will produce numerical values for all components of the gradient g at a computational cost of about five evaluations of f, regardless of the number of components in x and g.This proposal is for continuation of the work begun in GR/R55252. The integration of Automatic Differentiation capabilities into the NAGWare Fortran 95 Compiler will be extended to incorporate the reverse (or adjoint) mode of operation.Building on the CompAD-I active data type already introduced, basic reverse mode will be built and sucessively extended through local Jacobians of basic blocks through to optimally pre-accumulated gradients of single assignments with user-defined checkpointing.This will be the first time in the world that adjoint mode AD has been fully integrated with an industrial strength Fortran compiler. In parallel with development of the compiler (and the necessary adjoint theory) at Hatfield, the project will incorporate development of, and experience with, reference problems at Cranfield and Qinetiq. A primary purpose of this project is to explore alternative algorithms and representations for the semantic transformations associated with adjoints in this context, in order to lay the groundwork for future progress. However the Fortran Compiler resulting from this project is designed to be of widespread direct use in scientific computing (see next section).

Publications

10 25 50
 
Description Numerical Algorithms Group Ltd 
Organisation Numerical Algorithms Group Ltd
Country United Kingdom 
Sector Private 
Start Year 2006
 
Description QinetiQ 
Organisation Qinetiq
Country United Kingdom 
Sector Private 
Start Year 2006
 
Description RWTH Aachen University 
Organisation RWTH Aachen University
Country Germany 
Sector Academic/University 
Start Year 2006