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:
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 (4x 16-core AMD processors from 2012). See Goudie et al. (in press) for details.
MultiBUGS currently works only on Windows. (A Linux port is under preparation.)
Download MultiBUGS 1.0, and unzip this to, for example, .
Note that, within the installation directory, MultiBUGS creates a newevery time a model is run (e.g. ). This means you that you must have write permission for the installation directory, otherwise you will get the error “unable to link BugsWorker executable” when you try to distribute a model. Installing MultiBUGS in a different directory (e.g. ) may resolve this error.
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.
Details of the algorithms used by MultiBUGS can be found in:
Goudie, R. J. B., Turner, R. M., De Angelis, D., Thomas, A. (in press) MultiBUGS: A parallel implementation of the BUGS modelling framework for faster Bayesian inference. Journal of Statistical Software. arXiv:1704.03216 (slides pdf)
The source code is available on GitHub.