slmpi_emcee: MPI-based Parallelization of the S-Lang MCMC Hammer

slmpi_emcee is an MPI-based Parallelization of the S-Lang Markov chain Monte Carlo (MCMC) Hammer based on algorithm proposed by Goodman & Weare (2010), which was implemented in the Interactive Spectral Interpretation System in S-Lang (M. A. Nowak, modified by T. Beuchert, L. Corrales, and M. Kuehnel), and extended for MPI-based Parallelization (A. Danehkar). It is now included in the Remeis ISISscripts. It utilizes the S-Lang MPI Interface Package (slmpi; Thomas Dauser and Fritz Schwarm).

Installation

1- Install the HEASOFT Software

gunzip -c heasoft6.19.tar.gz | tar xf -
cd heasoft-6.19/BUILD_DIR/
./configure
make
make install

2- Install ISIS:

wget https://space.mit.edu/cxc/isis/install-isis.sh
setenv HEADAS /usr/local/headas/x86_64-unknown-linux-gnu-libc2.7/
sh install-isis.sh DIR

3- Install the Remeis ISISscripts

git clone https://www.sternwarte.uni-erlangen.de/git.public/isisscripts
tar xfz isisscripts.tgz

Add it to to your ~/.isisrc file

add_to_isis_load_path("/path/to/isisscripts/");

Load the ISISscripts in your S-Lang cocde:

require("isisscripts");

4- Install the S-Lang Interface Package (slirp; slirp-pre2.0.0-31.tar.gz):

gunzip -c slirp-pre2.0.0-31.tar.gz | tar xf -
./configure
make
make install

Add slirp-module.so to the isis_load_path.

5- Install the S-lang MPI Interface Package (slmpi):

gunzip -c slmpi.tar.gz | tar xf -
make

Add slmpi-module.so to the isis_load_path.

6- Install the S-lang MCMC Hammer:

git clone https://github.com/mcfit/slmpi_emcee.git

Load the S-lang MCMC Hammer in your S-Lang script:

require("mpi_isis_emcee");

7- Run the example:

mpirun -np 8 isis ./example_mpi_emcee.sl
Reference for MPI_XSTAR
  • A. Danehkar, M. A. Nowak, J. C. Lee, & R. K. Smith (2018) PASP 130:024501