A Compilation Target for Probabilistic Programming Languages
Brooks Paige, Frank Wood

TL;DR
This paper introduces probabilistic C, an intermediate language for probabilistic programming that leverages OS functionalities for efficient, scalable, and portable inference implementations, opening new research avenues.
Contribution
The paper presents probabilistic C, a novel intermediate representation enabling efficient compilation and execution of probabilistic programs across diverse hardware and systems.
Findings
Probabilistic C can be compiled to machine code using standard compilers.
It allows implementation of inference algorithms like sequential Monte Carlo.
The approach enhances portability and scalability of probabilistic programming systems.
Abstract
Forward inference techniques such as sequential Monte Carlo and particle Markov chain Monte Carlo for probabilistic programming can be implemented in any programming language by creative use of standardized operating system functionality including processes, forking, mutexes, and shared memory. Exploiting this we have defined, developed, and tested a probabilistic programming language intermediate representation language we call probabilistic C, which itself can be compiled to machine code by standard compilers and linked to operating system libraries yielding an efficient, scalable, portable probabilistic programming compilation target. This opens up a new hardware and systems research path for optimizing probabilistic programming systems.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBayesian Modeling and Causal Inference · Gaussian Processes and Bayesian Inference · AI-based Problem Solving and Planning
