Partial Evaluation of Forward-Mode Automatic Differentiation
summary
A whole-program transformation called PEAD (partial evaluation automatic differentiation) combines compile-time symbolic differentiation with forward-mode AD to generate code that eliminates much dual-number overhead by partially lifting only the differentiation-affected code and then partially evaluating the AD-generated dual operations. The pipeline explicitly handles lifting and differentiation of free variables, uses the type system to keep both normal and lifted versions of functions to avoid blind code explosion, and enforces a user-defined max recursion unroll to pragmatically bound partial-evaluation expansion; produces significantly leaner runtime code for many scalar cases.
AI-written summary · about
chapters (3)
- 0:00Partial Evaluation of Forward-Mode Automatic Differentiation
- 0:53Research Challenge
- 1:21Approach Overview
related talks
29mPartial Evaluation of Automatic Differentiation for Differential-Algebraic Equati...
26mAdding AD to Scheme by Differentiating the Interpreter
11mAbstract Interpretation for Automatic Differentiation
30mAutomatic Differentiation in PCF
36mProgramming Languages for Automatic Differentiation: What Now?
59mDifferentiable Programming in C++
26mADEV: Sound Automatic Differentiation of Expected Values of Probabilistic Progra...
29mParallelism-preserving automatic differentiation for second-order array languages
