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

Description

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), implemented in Python (emcee) by Foreman-Mackey et al. (2013), which has then been implemented in the Interactive Spectral Interpretation System (ISIS) in S-Lang by M. A. Nowak, modified by T. Beuchert, L. Corrales, and M. Kuehnel, and extended for MPI-based Parallelization by A. Danehkar. It is now included in the Remeis ISISscripts. It utilizes the S-Lang MPI Interface Package (SL-MPI) implemented by Thomas Dauser and Fritz Schwarm.

Installation

1- Install HEASoft: download 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 http://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 ISISscripts: download the Remeis ISISscripts

or obtain the developing version from the ISISscripts git-repository:

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

Add it to to your personal ~/.isisrc startup file:

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

Load the ISISscripts in your S-Lang script:

require("isisscripts");

4- Install the S-Lang Interface Package (slirp):

download slirp-pre2.0.0-31.tar.gz

Then:

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:

download slmpi

Then:

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

Add slmpi-module.so to the isis_load_path.

6- Install the S-lang MCMC Hammer:

Obtain the developing version from the github:

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