MultiBUGS implements a simple, automatic algorithm for parallelising Markov chain Monte Carlo (MCMC) algorithms for posterior inference of Bayesian hierarchical models. It builds on the existing algorithms and tools in OpenBUGS, 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. This makes modern multi-core computing accessible to applied statisticians, without requiring any experience of parallel programming.
See the MultiBUGS website for further details.
If you use MultiBUGS in your published work, please cite
Goudie, R. J. B., Turner, R. M., De Angelis, D., Thomas, A. (2020) MultiBUGS: A parallel implementation of the BUGS modelling framework for faster Bayesian inference. Journal of Statistical Software, 95(7). doi:10.18637/jss.v095.i07
See the main MultiBUGS website for installation instructions of the current released version. The current released version of MultiBUGS works on Windows (with Microsoft MPI (MSI-MPI), version >=8.1) or Linux.
We recommend using the stable version from the main MultiBUGS website, but if you want to try out the current unstable version:
-
Download and install Microsoft MPI (MS-MPI) (v8.1 or newer)
-
Download the latest
master
branch build of MultiBUGS. Unzip this to, e.g.,C:\Program Files (x86)\MultiBUGS
.
Pre-built unstable Linux binaries available from Azure Pipeline.
We recommend using the stable version from the main MultiBUGS website, but if you want to compile the current unstable version from source:
-
Download and install Microsoft MPI (MS-MPI). Version 8.1 or newer is required, since MultiBUGS uses
MPI_Comm_spawn
. This framework allows running parallel applications on the Windows platform. -
Download and install BlackBox 1.7.2 from the BlackBox Framework Center. This is the framework that MultiBUGS is written using.
-
Download the zip archive of MultiBUGS. Unzip this to, for example,
C:\
-
Make a new shortcut to the BlackBox.exe file in the newly-installed BlackBox directory (right-click on BlackBox.exe, choose "Create shortcut"). Then, right click the newly-created shortcut, choose "Properties", and choose the "Shortcut" tab. Then add the following text to the
Target
box, with the pathsC:\Program Files (x86)\BlackBox Component Builder 1.7\BlackBox.exe
(path to BlackBox.exe) andC:\MultiBUGS-master
(path to the MultiBUGS directory) changed to match wherever you installed BlackBox and MultiBUGS:mpiexec -n 1 "C:\Program Files (x86)\BlackBox Component Builder 1.7\BlackBox.exe" /USE "C:\MultiBUGS-master"
Then change the
Start in
to match the path to the MultiBUGS directory, e.g."C:\MultiBUGS-master"
You may want to move the shortcut itself to the Desktop to make it easy to access.
-
Double click the shortcut to open MultiBUGS/BlackBox.
-
Within MultiBUGS/BlackBox open
Make.odc
, which is found in theDeveloper
directory in the MultiBUGS directory. Click on the!
besideDevCompiler.CompileThis
. This will compile MultiBUGS. The compiler will ask you to confirm the creation of many directories: click OK to confirm all of these in turn. Compiling will take a couple of minutes. Once compiling is finished the status bar should say "ok". -
Close BlackBox/MultiBUGS and then reopen it to complete installation. Note that the first time you compile a model, BlackBox/MultiBUGS will confirm creation of a couple of extra directories. The Windows Firewall may also require you to give BlackBox/MultiBUGS permission: this is needed to allow communication between cores.
-
The shortcut link version will now work. If you would also like to create a self-contained compiled version of MultiBUGS (that doesn't need the BlackBox install) and/or use the
MultiBUGS.exe
executable, follow the following steps:(a) Within MultiBUGS/BlackBox open
Linking.odc
, which is found in theDeveloper
directory in the MultiBUGS directory. Click on the first two!
buttons in the "How to link MultiBUGS" section in turn. This createsOpenBUGS.exe
, whichMultiBUGS.exe
needs. (More precisely,MultiBUGS.exe
is just a wrapper aroundOpenBUGS.exe
that handles setting up MPI.)(b) Next, open up
BugsPackage.odc
, which is within theRsrc
folder within theBugs
folder in the MultiBUGS directory. This opens up the tool that is used to create the self-contained version of MultiBUGS. The path specifies where MultiBUGS will be installed. The other options specify which files are copied to the self-contained installation. Before clickingok
to create the self-contained version it is useful to open the Log window (Info
menu >Open log
) to make it easy to monitor progress.(c) Once this process is complete,
MultiBUGS.exe
within the self-contained version should work, and the BlackBox installation is not required. Note that the first time you compile a model, MultiBUGS will confirm creation of a couple of extra directories.
On Debian/Ubuntu-based systems
-
Install BlackBox Cross-Platform.
-
Install 32-bit MPICH
sudo apt install mpich:i386
-
Download the current
master
branch and open BlackBox (bbcb
).wget https://github.com/MultiBUGS/MultiBUGS/archive/master.tar.gz tar -xzf master.tar.gz cd MultiBUGS-master bbcb
-
Within MultiBUGS/BlackBox open
MakeLinux.odc
, which is found in theDeveloper
directory in the MultiBUGS directory. Click on the!
besideDevCompiler.CompileThis
. This will compile MultiBUGS. Once compiling is finished the status bar should say "ok". -
Start up MultiBUGS under MPI
mpiexec -n 1 bbcb
MultiBUGS is licensed under LGPL-3.0 (GNU Lesser General Public License v3.0)
It includes code from:
-
BlackBox Framework Center 2-Clause BSD License
Copyright (c) 2013 - 2019 BlackBox Framework Center Copyright (c) 1994 - 2013 Oberon microsystems, Inc., Switzerland. All rights reserved.
-
BlackBox Cross-Platform 2-Clause BSD License
Copyright (c) 2017 - 2020 Alexander V. Shiryaev, Ivan A. Denisov, Igor A. Dehtyarenko, Anton A. Dmitriev Copyright (c) 2013 - 2019 BlackBox Framework Center Copyright (c) 1994 - 2013 Oberon microsystems, Inc., Switzerland. All rights reserved.
-
TAUCS GNU LGPL (Library or Lesser GNU Public Library)
TAUCS Version 2.0, November 29, 2001. Copyright (c) 2001, 2002, 2003 by Sivan Toledo, Tel-Aviv Univesity, stoledo@tau.ac.il. All Rights Reserved.