Impulse: Momentously Fast, General, and Portable Probabilistic Programming via(…)
summary
A compiler-augmented probabilistic programming system called Impulse preserves probabilistic semantics in MLIR and applies a new pass Sample-Invariant Code Motion to statically detect and hoist deterministic work out of samplers. On benchmarks it reports geomean speedups of 1.7× vs NumPyro, 6.4× vs Stan, and 53× vs Turing and model-specific gains of 8.5×–190×; a GPU black‑hole imaging pipeline folds FFTs into a precomputed matrix multiply and gets 3.7×.
AI-written summary · about
chapters (4)
- 0:00The inference challenge
- 2:30Compiler-based solution
- 3:54Performance and results
- 6:24Q&A and discussion
related talks
19mIncremental Computation for Efficient Programmable Inference in Probabilistic Programs
06mStatic Delayed Sampling for Probabilistic Programming Languages
15mScaling Optimization Over Uncertainty via Compilation
24mCompiling with Generating Functions
26mOptimising Density Computations in Probabilistic Programs via Automatic Loop Vectorisation
14mFPL: Fast Presburger Arithmetic through Transprecision
16mIntrepydd: Performance, Productivity, and Portability for Data Science Application Kernels
19mCompiling Probabilistic Programs for Variable Elimination with Information Flow
