MultiBUGS

A parallel implementation of the BUGS modelling framework for faster Bayesian inference

MultiBUGS is a software package for performing Bayesian inference. It builds on the existing algorithms and tools in OpenBUGS and WinBUGS, and so is applicable to the broad range of statistical models that can be fitted using BUGS-language software, but automatically parallelises the MCMC algorithm to dramatically speed up computation.

MultiBUGS can run independent chains in parallel (e.g. for MCMC convergence analysis), and also parallelise computation required within each independent chain:

  1. evaluation of the product-form likelihoods (e.g. for ‘fixed effect’ parameters)
  2. sampling of conditionally-independent parameters (e.g. ‘random effects’ parameters)

For example, in an hierarchical regression model including 425,112 observations and 20,426 random effects, we found that OpenBUGS took 32 hours, whereas MultiBUGS took only 28 minutes using 48 cores. See Goudie et al. (2017) for details.

Installation

MultiBUGS currently works only on Windows. (A Linux port is under preparation.)

  1. Download and install Microsoft MPI (MS-MPI). Version 8.1 or newer is required. This framework allows running parallel applications on the Windows platform.
  2. Download MultiBUGS 1.0, and unzip this to, for example, C:\Program Files (x86)\MultiBUGS
  3. Open C:\Program Files (x86)\MultiBUGS\MultiBUGS.exe
Getting started

The steps for running an analysis in MultiBUGS are identical to OpenBUGS, except that we must specify how many cores to distribute computation across and initialise the parallelisation. This is specified using the 'distribute' button in the Specification Tool.

See the existing OpenBUGS documentation for general information about BUGS.

An R interface R2MultiBUGS is under development. This is a port of R2OpenBUGS.

Further information

Details of the algorithms used by MultiBUGS can be found in:

Goudie, R. J. B., Turner, R. M., De Angelis, D., Thomas, A. (2017) MultiBUGS: A parallel implementation of the BUGS modelling framework for faster Bayesian inference. arXiv:1704.03216

Known Issues

We maintain a list of known issues on GitHub Wiki. Please report issues via GitHub Issues.

Source code

The source code is available on GitHub.