Distributions for Compositionally Differentiating Parametric Discontinuities
summary
Introduces Potto prototype as the first differentiable first-order language that soundly differentiates parametric discontinuities, gives a denotational semantics equal to a distributional derivative, and implements separate compilation so shader modules compile independently. The implementation achieves 88.1x and 441.2x compile-time speedups and 2.5x and 7.9x runtime speedups on two image-stylization benchmarks, builds a working differentiable renderer with separately compiled shaders, and uses distribution theory plus sampled Deltas to produce unbiased derivative estimators while requiring locally invertible conditions and evaluating both branches.
AI-written summary · about
chapters (18)
- 0:00Parametric discontinuities intro
- 1:08Why standard AD fails
- 2:57Formal definition
- 4:24Discontinuities in graphics
- 5:05Differentiable rendering
- 6:53Boundary terms in derivatives
- 7:15Distribution theory
- 8:58Heaviside step function
- 11:02Distributional derivatives
- 13:12What is a distribution
- 15:00Distributions and programming
- 16:25Compositional differentiation
- 17:28Correctness proofs
- 18:12Risk minimization apps
- 18:32Ray tracer benchmark
- 19:14Related work & limits
- 19:34Conclusion & future
- 20:38Q&A
related talks
06mDistribution Theoretic Semantics for Non-Smooth Differentiable Programming
15mCoarsening Optimization for Differentiable Programming
29mPartial Evaluation of Automatic Differentiation for Differential-Algebraic Equati...
29mParallelism-preserving automatic differentiation for second-order array languages
30mOn Distributive Subtyping with Finitary and Infinitary Unions and Intersections
21mDivergence-Aware Testing of Graphics Shader Compiler Back-Ends
05mOn Iteration in Discrete Probabilistic Programming
49mSemantic Foundations for Probabilistic Programming
