A Compilation Target for Probabilistic Programming Languages

Authors: Brooks Paige, Frank Wood

ICML 2014 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental instead we characterize the performance of the intermediate representation itself by writing programs directly in probabilistic C and then testing them on computer architectures and programs that illustrate the capacities and trade-offs of both the forward inference strategies probabilistic C employs and the operating system functionality on which it depends. We now turn to benchmarking probabilistic C against existing probabilistic programming engines, and evaluate the relative strengths of the inference algorithms in Section 3.
Researcher Affiliation Academia Brooks Paige BROOKS@ROBOTS.OX.AC.UK Frank Wood FWOOD@ROBOTS.OX.AC.UK University of Oxford, Department of Engineering Science, Oxford, UK
Pseudocode Yes Algorithm 1 Parallel SMC program execution; Algorithm 2 Parallel PIMH program execution; Algorithm 3 Parallel Particle Gibbs program execution; Algorithm 4 Retain and Branch inner loop
Open Source Code No The paper refers to 'probabilistic-js' with a GitHub link (https://github.com/dritchie/probabilistic-js), but this is a third-party system used for comparison, not the open-source code for 'probabilistic C' developed in this paper. No explicit statement or link for the authors' own code release was found.
Open Datasets No The paper defines models (HMM, CRP) and provides small hardcoded data examples within the figures (e.g., 'static double data[N] = { NAN, .9, .8, .7, 0, -.025, -5, -2, -.1, 0, 0.13 };' in Figure 2), but does not provide concrete access information (link, DOI, repository, or formal citation to an established public dataset) for a dataset used in the experiments.
Dataset Splits No No specific dataset split information (exact percentages, sample counts, citations to predefined splits, or detailed splitting methodology) needed to reproduce the data partitioning was provided.
Hardware Specification Yes 8 core cloud computing environment on Amazon EC2, running on Intel Xeon E5-2680 v2 processors.
Software Dependencies No The paper mentions 'C-language library', 'standard compilers', and 'POSIX operating system libraries' on 'Linux, BSD, and Mac OS X', but does not provide specific version numbers for these software components or any other ancillary libraries needed for replication.
Experiment Setup Yes The interpreted particle Gibbs engine is multithreaded, and we run it with 100 particles and 8 simultaneous threads; the Metropolis-Hastings engine only runs on a single core. The probabilistic C inference engine implements particle Gibbs, SMC, and PIMH sampling, which we compare in Figure 5 using both 100 and 1000 particles.