Mathematical Programming Computation, Volume 8, Issue 4, November 2016

Font Size:  Small  Medium  Large

Capitalizing on live variables: new algorithms for efficient Hessian computation via automatic differentiation

Mu Wang, Assefaw Gebremedhin, Alex Pothen


Werevisitanalgorithm[calledEdgePushing(EP)]forcomputingHessians using Automatic Differentiation (AD) recently proposed by Gower and Mello (Optim Methods Softw 27(2): 233–249, 2012). Here we give a new, simpler derivation for the EP algorithm based on the notion of live variables from data-flow analysis in compiler theory and redesign the algorithm with close attention to general applicability and performance. We call this algorithm Livarh and develop an extension of Livarh that incorporates preaccumulation to further reduce execution time—the resulting algo- rithm is called Livarhacc. We engineer robust implementations for both algorithms Livarh and Livarhacc within ADOL-C, a widely-used operator overloading based AD software tool. Rigorous complexity analyses for the algorithms are provided, and the performance of the algorithms is evaluated using a mesh optimization application and several kinds of synthetic functions as testbeds. The results show that the new algo- rithms outperform state-of-the-art sparse methods (based on sparsity pattern detection, coloring, compressed matrix evaluation, and recovery) in some cases by orders of mag- nitude. We have made our implementation available online as open-source software and it will be included in a future release of ADOL-C.

Full Text: pdf

mpc footer
© MPS 2008-2016