Probabilistic Programming with Vectorized Programmable Inference
ACM SIGPLAN Symposium on Principles of Programming Languages (POPL) 2026
- Paper
- Website
- Code
Abstract
We present GenJAX, a new language and compiler for vectorized programmable probabilistic inference. GenJAX integrates the vectorizing map (vmap) operation from array programming frameworks such as JAX into the programmable inference paradigm, enabling compositional vectorization of features such as probabilistic program traces, stochastic branching (for expressing mixture models), and programmable inference interfaces for writing custom probabilistic inference algorithms. We formalize vectorization as a source-to-source program transformation on a core calculus for probabilistic programming (λGEN), and prove that it correctly vectorizes both modeling and inference operations. We have implemented our approach in the GenJAX language and compiler, and have empirically evaluated this implementation on several benchmarks and case studies. Our results show that our implementation supports a wide and expressive set of programmable inference patterns and delivers performance comparable to hand-optimized JAX code.
BibTeX
@article{becker2026vectorized, title = {{Probabilistic Programming with Vectorized Programmable Inference}}, author = {Becker, McCoy R. and Huot, Mathieu and Matheos, George and Wang, Xiaoyan and Chung, Karen and Smith, Colin and Ritchie, Sam and Saurous, Rif A. and Lew, Alexander K. and Rinard, Martin C. and Mansinghka, Vikash K.}, journal = {Proceedings of the ACM on Programming Languages}, volume = {10}, number = {POPL}, pages = {2523--2554}, year = {2026}, doi = {10.1145/3776729}, }




