Coarsening Optimization for Differentiable Programming
summary
Paper presents coarsening optimization that raises segments to symbolic level, applies differentiation and lowers optimized code, and reports several-times to over 100× speedups on real-world apps. It builds a compiler pass that combines algorithmic and symbolic AD, introduces phi-calculus to symbolically differentiate loops and branches without expression swell, and adds reuse-centric SOI identification to balance reuse versus coarsening. Implementation generates lowered source and empirical results show much lower allocations and large runtime reductions.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:15What is Differentiable Programming
- 2:30Algorithmic Differentiation
- 3:28Symbolic Differentiation
- 5:13Challenges
- 5:24Control flows
- 5:46Fair calculus
- 6:06SSA
- 7:25Loops
- 8:07Formulas
- 10:55Loop Example
- 11:46ReuseAware SOI Identification
- 12:21Benchmarks
- 14:12Conclusion
related talks
59mDifferentiable Programming in C++
36mProgramming Languages for Automatic Differentiation: What Now?
37mA Tour of Program Optimization
11mAbstract Interpretation for Automatic Differentiation
15mScaling Optimization Over Uncertainty via Compilation
01h 21mNon-local compiler transformations in the presence of dynamic dispatch
05mPartial Evaluation of Forward-Mode Automatic Differentiation
21mNavigating the Frontier of EDDO-Based Accelerators: Programming and Code(…)
