Compiling RAxML and ExaML
RAxML and ExaML are phylogenetic inferences codes.[1]
Compiling RAxML
We will compile the AVX-enabled, threaded, non-MPI version using GCC.
Download
First, create a directory for the source:
[juser@proteusa01 ~]$ cd
[juser@proteusa01 ~]$ mkdir src
[juser@proteusa01 ~]$ cd src
Download from github by cloning the repository. At https://github.com/stamatak/standard-RAxML the clone link is in the right sidebar, towards the bottom:
[juser@proteusa01 src]$ git clone
https://github.com/stamatak/standard-RAxML.git
This creates the directory standard-RAxML
Environment
Make sure these are the loaded modules:
Currently Loaded Modulefiles:
1) shared 2) proteus 3) sge/univa 4) gcc/4.8.1
Clear any environment variables:
[juser@proteusa01 ~]$ unset CFLAGS CXXFLAGS
Compile
NOTE Do not use AVX2 - none of the compute nodes in Proteus support AVX2.
Build:
[juser@proteusa01 src]$ cd standard-RAxML
[juser@proteusa01 src]$ make -f Makefile.AVX.PTHREADS.gcc -j 16 > & Make.out &
This creates the executable
raxmlHPC-PTHREADS-AVX
Compiling ExaML
We will compile with GCC and OpenMPI.
Download
First, create a directory for the source:
[juser@proteusa01 ~]$ cd
[juser@proteusa01 ~]$ mkdir src
[juser@proteusa01 ~]$ cd src
Download from the github repository: https://github.com/stamatak/ExaML
[juser@proteus01 src]$ git clone
https://github.com/stamatak/ExaML.git
This creates the directory named ExaML
.
Environment
These are the loaded modules:
Currently Loaded Modulefiles:
1) shared 3) sge/univa 5) proteus-openmpi/gcc/64
2) proteus 4) gcc/4.8.1
Clear any environment variables:
[juser@proteusa01 ~]$ unset CFLAGS CXXFLAGS
Build
[juser@proteusa01 src]$ cd ExaML/examl
[juser@proteusa01 examl]$ make -f Makefile.AVX.gcc -j 16 >& Make.out &
This produces the executable:
examl-AVX
Run
Since this is an MPI program, it must be run in a parallel environment, and using mpirun:
#$ -pe openmpi_ib 512
...
module load gcc
module load proteus-openmpi/gcc
...
mpirun -n $NSLOTS examl-AVX
args`` ``...
References
[1] The Exelixis Lab