Configuring Infernal for MPI parallelization.
---------------------------------------------

If you have an MPI-compliant library installed (LAM, MPICH, OpenMPI)
and you want to use MPI parallelization, enable MPI with the
--enable-mpi flag to the configure script:

  % ./configure --enable-mpi
  % make

This will build both the usual set of (non-MPI) executables including
cmsearch and cmalign, and two MPI executables, mpi-cmsearch and
mpi-cmalign.

Notes on running mpi-cmsearch in MPI mode on the cluster
--------------------------------------------------------

The following is an example from our configuration. We use LAM MPI, on
a cluster that uses the Sun Grid Engine (SGE) as its queueing manager.
Your mileage may vary: you may need to consult your local MPI or
cluster guru if you're running a different MPI package or a different
queue manager.

Make sure 'mpi-cmsearch' is in your $PATH.

To run the CM foo.cm against the database genome.fa on 100 CPUs
execute the following on the head node (login-eddy.int.janelia.org):

$ qsub -N foo -o foo.out -b y -cwd -V -j y -pe lam-mpi-tight 100 'mpirun C mpi-cmsearch -E 50 --local foo.cm genome.fa > cmsearch.out'
 
This submits a single SGE job named 'foo' to the cluster. This job
will run mpi-cmsearch in local mode and report all hits with E-values
above 50.
