An analysis of automatic differentiation on the VAX
The reverse accumulation algorithm is an efficient technique for implementing automatic differentiation. It is able to calculate the complete gradient vector of a scalar function to the same degree of accuracy as the target function and requires only about twice the amount of floating point arithmetic as that needed to calculate the function itself. However, when implemented on conventional architectures several overheads are incurred which degrade the performance. This report analyses the performance of an Ada implementation on a MicroVAX 3800 using VMS and discusses possible improvements.