Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn how to transform interpreter-based automatic differentiation algorithms into efficient code generators through staging techniques in this 29-minute conference presentation from Haskell 2025. Explore the research by Samuel Klumpers and Tom Schrijvers from KU Leuven that builds upon van den Berg et al.'s earlier work, reverse-engineering their algorithm using established program transformation techniques from abstract algebra and functional programming. Discover how the researchers convert an existing interpreter-based approach into an efficient code generator using Template Haskell staging, while leveraging fold fusion variants and algebraic preservation maps to achieve correct-by-construction binding time improvements. Understand the significance of reverse-mode automatic differentiation, which is particularly efficient for computing large gradients despite generating highly non-obvious code, and its applications in scientific computing and machine learning. Examine the impressive performance results, where the generated code achieves speedups of a factor of 110 compared to the original approach. Access the accompanying research article and supplementary materials to dive deeper into the technical details of this program calculation approach to staging and automatic differentiation with fusion.
Syllabus
[Haskell'25] Staging Automatic Differentiation with Fusion
Taught by
ACM SIGPLAN