Write a Blog >>
Mon 19 Jun 2017 12:05 - 12:30 at Actes, Civil Engineering - Learning and Probabilistic Chair(s): Swarat Chaudhuri

The job of a typical compiler is to convert a program written in some source language into assembly code. In contrast, a probabilistic programming language (PPL) compiler converts a specification of a probabilistic model into a statistical inference algorithm. Hence, the requirements of such a compiler are markedly different from those for a conventional one. In this paper, we describe a compiler for a restricted PPL that expresses Bayesian networks. In particular, we present a sequence of intermediate languages (ILs) that guide a compiler in gradually and successively refining a declarative specification of a probabilistic model into an executable Markov Chain Monte Carlo (MCMC) inference algorithm. The compilation strategy produces \emph{composable} MCMC algorithms for execution on a CPU or GPU.