dzheng
Re:Foundations for Efficient and Expressive Differentiable Programming...
on Thursday December 27, 2018 @12:43AM (#18767615)
Aha, that makes sense, thanks!
I agree that the performance benefits of such stack allocation (over heap allocation) aren't quite clear in practice.
I feel the bigger win of delimited cont./closure-based AD approaches is that they can model the control flow of reverse-mode AD without AD-specific code transformations. Delimited cont. is especially great at making things modular: each differentiable function performs primal computation, calls the callback with primal result, then performs adjoint computation.
Re:Foundations for Efficient and Expressive Differentiable Programming...
on Sunday December 23, 2018 @10:22PM (#18750064)
Could you please elaborate on what exactly enables stack allocation of intermediate values?
Is it a direct result of the semantics of delimited continuations? (perhaps because closures are passed as parameters and don't capture variables)
Or is it enabled via staging or optimizations?