Optimising Density Computations in Probabilistic Programs via Automatic Loop Vectorisation
summary
Automatic vectorisation translates imperative PPL loops into a tensor-ready target with a Pyro implementation that runs loop iterations via speculative parallel execution over n+1 state copies and a fixed-point check to preserve exact density semantics. The system expresses the vectorised operator as elementwise tensor primitives, runs on GPU, and handles nested and data-dependent loops the baseline cannot. Evaluation on eight benchmarks shows consistent wins, reporting 1.1–6x speedups and reduced GPU memory in many cases.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:03Motivation
- 3:14Loop vectorization challenges
- 4:41Log density semantics
- 6:30For loop execution
- 8:42Parallel loop method
- 12:39C-parallel operator
- 16:24Stopping conditions
- 17:50Tensor implementation
- 18:51Evaluation and benchmarks
- 21:48Q&A
related talks
01h 07mProbabilistic Programming and Readable Models
32mProbabilistic and Differentiable Programming in Scientific Simulators
19mIncremental Computation for Efficient Programmable Inference in Probabilistic Programs
20mVectorizing Sparse Coiteration for Two-finger Loop Structure (Extended Abstract)
47mThe State of the Art for Probabilistic Programming
11mImpulse: Momentously Fast, General, and Portable Probabilistic Programming via(…)
21mGuaranteed inference for probabilistic programs: a parallelisable, small-step o...
20mVerified Density Compilation for a Probabilistic Programming Language
