Compiling notes

DISSECT Compilation

We provide several binaries for different MPI implementations and versions. However, the MPI implementation can depend strongly on the computer setup, and DISSECT may require to be compiled on each machine. For compiling DISSECT you will need some implementation of MPI libraries (i.e. openMPI, MPICH2, etc), and ScaLAPACK libraries (Intel MKL, Cray libsci, etc). Many MPI libraries are open source. Optimized ScaLAPACK libraries such as MKL, could be used with academic pourposes. These libraries are usually available in many supercomputer setups. Finally, DISSECT uses the widely used BOOST libraries for computing some p-values from test statistics. These are not required, but if not present, DISSECT will not be able to compute p-values.

To simplify compilation procedure, we setup a Makefile file that will help on this process. For compiling you should follow these steps:

Download source code.
Edit Makefile file in src folder. There you should indicate which MPI and ScaLAPACK implementation you will use and in some cases where they are placed.
Execute make command

Our Makefile is prepared for using MPICH2 or OpenMPI MPI implementations and MKL or libsci ScaLAPACK implementations. However, note that this Makefile is not prepared for all possible situations (e.g. other implementations of these libraries), and in some situations it could need some further adjustments.

Note that in some HPC environments you will need to load some modules for loading the required libraries before compiling. Please, read the corresponding documentation. You may also ask for assistance from HPC  IT which probably will be able to help you.