Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

-fixed incorrect computation of lower bound for the recomputation app…

…roach, it used the natural logartithm, now it uses

 the correct base 2 logarithm
latest commit e5dd31477c
Alexis Stamatakis authored August 18, 2012
Octocat-spinner-32 Makefile.AVX.MPI -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 Makefile.AVX.PTHREADS.gcc -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 Makefile.AVX.gcc -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 Makefile.FMA.MPI -added/integrated fused multiply-add intrinsics for bulldozer systems… March 01, 2012
Octocat-spinner-32 Makefile.FMA.PTHREADS.gcc -added/integrated fused multiply-add intrinsics for bulldozer systems… March 01, 2012
Octocat-spinner-32 Makefile.FMA.gcc -added/integrated fused multiply-add intrinsics for bulldozer systems… March 01, 2012
Octocat-spinner-32 Makefile.SSE3.MPI -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 Makefile.SSE3.PTHREADS.gcc -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 Makefile.SSE3.gcc -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 RAxML-Light-Manual.odt updated manual to new version number 108 May 15, 2012
Octocat-spinner-32 RAxML-Light-Manual.pdf updated manual to new version number 108 May 15, 2012
Octocat-spinner-32 README -added some text to README May 15, 2012
Octocat-spinner-32 Release-Notes - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 avxLikelihood.c -slightly improved performance of AVX vectorization of PROT+GAMMA models March 13, 2012
Octocat-spinner-32 axml.c - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 axml.h - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 bipartitionList.c -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 checkpoint_bash.sge -include the cluster scripts in the GIT February 16, 2012
Octocat-spinner-32 checkpoint_bash_hits_cluster.sge -include the cluster scripts in the GIT February 16, 2012
Octocat-spinner-32 checkpoint_tcsh.sge -include the cluster scripts in the GIT February 16, 2012
Octocat-spinner-32 dna.phy added a small test dataset February 16, 2012
Octocat-spinner-32 evaluateGenericSpecial.c - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 evaluatePartialGenericSpecial.c - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 fineGrainMpi.c -added command line switch -a that will use the median for the discre… May 31, 2012
Octocat-spinner-32 globalVariables.h -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 makenewzGenericSpecial.c - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 models.c -added command line switch -a that will use the median for the discre… May 31, 2012
Octocat-spinner-32 newviewGenericSpecial.c - Implemented binary models for 0/1 datasets without Lewis correction. August 16, 2012
Octocat-spinner-32 optimizeModel.c -added command line switch -a that will use the median for the discre… May 31, 2012
Octocat-spinner-32 parsePartitions.c -added verbose error messaage in partition parser June 01, 2012
Octocat-spinner-32 partitionFile.txt - added some code, test datasets and appropriate Makelfiles for Joerg. July 19, 2011
Octocat-spinner-32 prot.phy - added some code, test datasets and appropriate Makelfiles for Joerg. July 19, 2011
Octocat-spinner-32 recom.c -fixed incorrect computation of lower bound for the recomputation app… August 18, 2012
Octocat-spinner-32 restartHashTable.c -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 searchAlgo.c -fixed a bug in the checkpointing functions. June 17, 2012
Octocat-spinner-32 topologies.c -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 trash.c -new AVX Makefiles for Pthreads and MPI February 16, 2012
Octocat-spinner-32 treeIO.c -added a littel erreor check in the tree parsing routine that checks,… February 26, 2012
README
RAxML-Light Readme

For detailed documentation please refer to the RAxML-Light manual included
in this archive: RAxML-Light-Manual.pdf

Quick-start:

To compile the various versions: 

The distribution comes with six Makefiles for the sequential, Pthreads, and MPI-based versions. 
The sequential, Pthreads and MPI versions either use SSE3 128-bit wide SIMD (Single Instruction Multiple Data) 
or AVX 256-bit wide SIMD instructions which are offered by all recent AMD and Intel x86 architectures. 
The default compiler is gcc, but you may experiment with Intel icc or the Portland PGI compiler 
(although those compilers have not been tested by me). 
The parallel MPI version works with Intel icc and gcc and so far I have tested the MVAPICH2 (gcc and icc) 
and OpenMPI (gcc) compilers. 


To compile the sequential versions, type: 

make -f Makefile.SSE3.gcc
make -f Makefile.AVX.gcc

This will generate executables called raxmlLight/raxmlLight-AVX. 
If you want to compile the Pthreads version next, first type “rm *.o” in your terminal to remove 
the object files generated for compiling and linking the sequential program and type:


make -f Makefile.SSE3.PTHREADS.gcc
make -f Makefile.AVX.PTHREADS.gcc

This will produce executables called raxmlLight-Pthreads and  raxmlLight-Pthreads-AVX respectively

Then, to compile the MPI version, first type “rm *.o” again and then type:

make -f Makefile.SSE3.MPI
make -f Makefile.AVX.MPI

which will generate executables called raxmlLight-MPI/raxmlLight-MPI-AVX. For this you will need to have a 
MPI compiler (called mpicc) installed on your system/cluster. 
If you don't know what a MPI compiler is, just talk to your local geek. 

For testing purposes under Ubuntu Linux, it is probably easiest to install OpenMPI. 
On our local cluster here at HITS using the 64-bit icc compiler v11.1 and MVAPICH2 yielded the best performance. 
It is really worth playing around with different compiler and MPI implementations, because this can yield performance differences of up to 30%.

WARNING: For performance reasons the number of partitions is hard-coded in the MPI version of the code. 
This is admittedly not very elegant, but we had to sacrifice flexibility for performance. 
Thus, when running RaxML-Light, you may sometimes see it abort with the following or a similar error message:

raxmlLight-MPI: fineGrainMpi.c: startFineGrainMpi: Assertion `tr->NumberOfModels == 2' failed.

In such a case you will have to edit source file axml.h, and amend the following line:

#define NUM_BRANCHES 1
to read:

#define NUM_BRANCHES X
where X is the number of partitions in the dataset you want to analyze. 
Thereafter, please re-compile the MPI code and everything should work.

For details on command line options please refer to the manual.
Something went wrong with that request. Please try again.