Skip to content

Compiling ExaBayes

ExaBayes is a software package for Bayesian tree inference. It is particularly suitable for large-scale analyses on computer clusters.[1]

Installed Versions♯

ExaBayes 1.5 is installed on Proteus. There are two "flavors" available: one which can run on any machine, AMD or Intel, and one which can run only on Intels due to hardware-specific optimizations:

exabayes/gcc/1.5

exabayes/intel/2015/1.5

Exabayes is an MPI program, using OpenMPI. Please see that article for details on how to run an OpenMPI program.

ExaBayes documentation is online.

Building ExaBayes♯

Download Source♯

Download the latest version from https://sco.h-its.org/exelixis/web/software/exabayes/ that is provided as either a .zip or a .tar.gz archive. As of 2018-04-09, the latest stable version is 1.5

Note that our experience building from the development branch has not been encouraging. We recommend the stable version.

Load Modules for Building♯

Load the following modulefiles:

module load autoconf module load automake

For compiling with GCC, which will run on either AMD or Intel:

module load proteus-openmpi/gcc/64/1.8.1-mlnx-ofed

For compiling with Intel Composer XE, which will run only on Intel -- this can only be compiled on proteusi01:

module load intel/composerxe/2015.1.133 module load proteus-openmpi/intel/2015/1.8.1-mlnx-ofed

For Intel-only compilation (to be done on proteusi01), also set the following environment variable:

export CXXFLAGS="-O3 -xHost"

Generate the configure Script♯

The "autoreconf" command may generate errors about missing files. The "automake" command below takes care of that.

aclocal automake --add-missing autoreconf

The "autoreconf" command may have to be repeated several times. Do so until no more errors or warning messages are printed.

Configure♯

Then, configure:

./configure --prefix=/mnt/HA/groups/rsrchGrp/opt --enable-mpi --disable-mic

Make and Install♯

make -j 8 make install

This puts all executables in:

/mnt/HA/groups/rsrchGrp/opt/bin

Running♯

exabayes is an MPI program: it can run in parallel across multiple physical nodes. See the OpenMPI section for details on running.

In short, to run the Intel-optimized flavor:

#$ -pe shm 16 #$ -l vendor=intel ... module load exabayes/intel/2015/1.5 ${MPI_RUN} exabayes ...

Because Proteus's version of OpenMPI is integrated with Grid Engine, the number of processes need not be specified: MPI_RUN will automatically infer it from the job environment.

References♯

[1] ExaBayes website (The Exelixis Lab)