AD workshop, Nice 2005

Abstracts and slides of all presentations




Benjamin Dauvergne - INRIA Sophia-Antipolis -
SLIDES
"Adjoint Data-Flow analyses applied to checkpointing"

In the context of the reverse mode of AD, we defined "adjoint Data-Flow analyses" to extract useful write, read, and liveness information on the variables of a differentiated program. We now consider the important case of checkpoints, which leads us to defining new Data-Flow equations. In particular we are able to reduce redundancies between the snapshots of successive checkpoints. We observe that there is a tradeoff between small snapshots and reduced tape size, and we are looking for an algorithm that finds a good compromise between the two.
Brad Bell - Applied Physics Laboratory, University of Washington -
PRESENTATION WEB SITE
(text-only version if your browser doesn't support MathML)
"Using Fortran Code with C++ Algorithmic Differentiation Types"

The f2c program converts Fortran 77 code to C. It is a well known open source program that has been very widely used and tested. For example, Netlib distributes CLAPACK which is an f2c translation of a Fortran version of LAPACK. Up until recently, f2c was distributed with most Linux distributions. Now a good native Fortran compiler is part of the GNU compiler collection (gcc) and no one seems to be working on the f2c project (October of 2003 is the date of the last listed change ).
During this talk I will report on some preliminary work that demonstrates the feasibility of using f2c to link Fortran functions and subroutines with the C++ Algorithmic packages ADOLC, CppAD, and FADBAD. I will also talk about some of the difficulties in extending f2c so that it can output C++ with the floating point type a template parameter (making it easy to use with the AD packages listed above as well as other operator overloading applications).
Keywords: f2c, Fortran, C++, operator overloading, AD, ADOLC, CppAD, FADBAD.
Mike Fagan - Rice University -
SLIDES
"Current status of Adifor 90"

Adifor 90 is the successor to Adifor 3.0 that covers Fortran 90 as well as Fortran 77. This talk describes the design and implementation of the Adifor 90 tool, including an experimental implementation of the 'always recompute' rule for pointers.
Shaun Forth - Cranfield University (Shrivenham Campus) -
SLIDES
"Developments in the MAD package"

MAD is an overloaded package for AD in MATLAB. We review its robust forward mode for first derivatives which is frequently very efficient for large applications due to use of MATLAB's sparse matrix class and associated matrix operations for storing and combining derivatives. We describe first, successful experiences in differentiated object-oriented code - this required adding ONE LINE of code to the user's MATLAB source. We explain, with examples, how MAD has been incorporated into the TOMLAB (www.tomlab.biz) optimisation package. We present a roadmap for future developments.
Ralf Giering - FastOpt -
SLIDES
"Fortran codes recently differentiated by means of TAF"

We provide an overview on recent applications of our AD tool Transformation of Algorithms in Fortran. Examples include tangent linear and adjoint versions of the aerodynamic code FLOWer, of biogeochemistry modules for the MIT ocean general circulation model, and of the atmospheric transport model NIRE-CTM.
Mike Giles & Devendra Ghate- Oxford University -
SLIDES
"Using adjoints for inexpensive Monte Carlo uncertainty analysis"

This talk is motivated by engineering applications in which one wants to quantify the consequences of uncertainty due to manufacturing tolerances. We will discuss the use of adjoints for inexpensive, approximate Monte Carlo analysis, and relate it to an efficient way of computing Hessians of output functions in applications based on fixed point iterations.
Andreas Griewank - T.U. Berlin -
SLIDES
"Definition and Evaluation of projected Hessians for Piggyback Optimization"

In piggyback optimization we attempt to turn a given iterative state equation solver into an optimization algorithm. Adjoining the solver yields approximate reduced gradients, which must be preconditioned and scaled to yield reasonable correction steps on the optimization variables. For that purpose we examine various projected Hessian matrices with respect to the resulting overall convergence speed and discuss their evaluation or approximation based on second order adjoint evaluations.
Sebastian Heinz - T.U. Berlin -
SLIDES
"AD viewed from algebraic complexity"

We study the complexity of iterative matrix-free methods in order to solve nonlinear least squares problems fast. In every iteration step, a fixed linear function has to be evaluated at various points. We assume that the linear function is given by a computational graph (i.e. an output of an AD-tool). We want to analyse how preaccumulation of the computational graph can reduce the running time of our method. As an approach, we motivate relations to algebraic complexity theory.
Rahul Kharche - Cranfield University (Shrivenham Campus) -
SLIDES
"Progress with MATLAB Source transformation AD (MSAD)"

MSAD is a Java based tool to differentiate MATLAB programs using the forward mode of AD. The result of the differentiation process is an augmented MATLAB code that computes both the function value and its first derivatives. Previously MSAD used a hybrid of source transformation and operator overloading techniques to carry out the differentiation. The current implementation performs a complete source transformation by specialising and inlining operations of the derivvec class from the MAD package. In several cases we observed an order of magnitude increase in performance over the pure overloading counterpart MAD, and performance is comparable to the MATLAB finite differencing routine numjac. In this talk we briefly look at the advantages of this approach, and present some run-times for the gradient/Jacobian computation of ODE, DAE functions and optimisation problems from the MINPACK set. We also comapare the run-time performances of complete solutions for boundary value problems obtained with the bvp4c solver using MSAD with finite differencing and MAD.
Boyana Norris - Argonne National Lab./MCS -
SLIDES
"Current status of ADIC 2.0"

I will give an update on ADIC 2.0 status and future plans. The upcoming release of ADIC 2.0 handles forward mode differentiation of C and C++ using OpenAD algorithms. I will also present ongoing and future work on more complete language support for C++ and adding reverse mode support.
Monika Petera - T.U. Aachen -
SLIDES - PPS SLIDES
"ADiCape in a large-scale industrial problem"

The source transformation tool ADiCape is employed to apply the forward mode of automatic differentiation to CapeML, an XML-based code. The advantages of the Curtis-Powell-Reid (CPR) seeding in the evaluation of a sparse Jacobian matrix is described, considering an example of an industrial distillation column model.
Arno Rasch - T.U. Aachen -
SLIDES
"The Hessian Module: Status and Future Perspectives"

This talk will summarize and compare the multiple features of the Hessian module which was developed by Jason Abate and his coworkers. We will also indicate some future directions towards efficiently computing second-order derivatives using the software infrastructure provided by the Hessian module.
Jan Riehme - T.U. Berlin -
SLIDES
"2nd-order derivatives with ADTAGEO"

We describe the computation of second order derivatives within ADTAGEO (Algorithmic Differentiation Trough Automatic Graph Elimination Ordering), an approach to Automatic Differentiation strictly based on the instant elimination of any node in the Computational Graph, whenever the corresponding active variable (also intermediates) is scheduled for deallocation. After discussing the propagation (and elimination) of local Hessians we present first elimination rules on the symmetric graph of the Hessian introduced by Dixon (L.C.W.Dixon, "Use of automatic differentiation for calculating Hessians and Newton Steps", in Griewank, Corliss (eds.), "Automatic differentiation of algorithms: Theory, implementation, and application", SIAM, Philadelphia, 1991).
Siegfried Rump - TU Harburg -
SLIDES
"Gradients and Hessians in INTLAB, the Matlab toolbox for verified computations"

INTLAB uses the Matlab operator concept to implement forward automatic differentiation. The main goal of INTLAB is to provide verified bounds for the solution of numerical problems, such as systems of nonlinear equations or verification of optima of optimization problems, locally and globally. We use AD as a tool to provide necessary derivatives, including functions with interval data. We used some special methods to overcome Matlab interpretation overhead and to use sparsity, so that optimization problems with 1000 unknowns and more can be treated.
Trond Steihaug - U. Bergen & HU Berlin -
SLIDES
"Trust Region with a Cubic Model"

In this talk we will present ongoing work on trust region methods with higher order models. In these methods we need the third derivative of a scalar function or the second derivative of a vector valued function. Even for small problems computing these derivatives are error prone. The goal of the project is to derive 'tensor free' methods (only the tensor applied to a vector) in the same way as we have matrix free method using only matrix vector product. We will motivate the need of these methods from regularization problems.
Mohamed Tadjouddine - Cranfield University (Shrivenham Campus) -
SLIDES
"Differentiating a time-dependent CFD solver"

We report our efforts in using the source transformation AD tools TAF and TAPENADE to differentiate a time-dependent CFD solver that is written in F95 and features mesh movement. The CFD code simulates a small device that generates a jet-like flow by oscillating fluid in a chamber connected to its surroundings via an orifice. We discuss a case study aimed at optimising the kinetic energy of the upwards motion of the jet by controlling the frequency and amplitude of the oscillation. The optimisation makes use of the FFSQP optimisation routine (developed at the University of Maryland) using the gradient calculated by AD.
Jean Utke - Argonne National Lab./MCS -
SLIDES
"Automatic checkpoints and adaptive reversal schemes"

In the attempt to automate checkpoint placement in the context of various reversal schemes (other than plain split and joint) we have to look for code analysis that supports such an automation in a conservatively correct way. We want to discuss some issues that arise with result checkpoints, dynamic data structures as well as some ideas for a solution.
Michael Vossbeck - FastOpt -
SLIDES
"Two automatically generated adjoint C codes"

Development of our AD tool Transformation of Algorithms in C++ (TAC++) aims at transferring well-proved TAF concepts from Fortran to C/C++, complemented with additional language specific concepts. We pursue a demand-driven approach, i.e. the tool is enhanced from application to application. We'll present at least two applications to short CFD codes.
Last modified: Mon May 9 09:35:30 MEST 2005