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.