[Bioclusters] clue wanted: parallel mrbayes

Chris Dagdigian bioclusters@bioinformatics.org
Wed, 29 Sep 2004 11:42:16 -0400

Thanks Chris for putting me on the right track!

I added -DMPI_ENABLED to my CFLAGS and had to adjust some of the items 
in mb.h -- in particular I had to disable MAC_VERSION and enable 
UNIX_VERSION so that it would pull in the proper mpi.h file. This is on 
an Apple Xserve cluster.

Now the app is very obviously running on multiple nodes as evidenced by 
checking various process tables. There even seems to be some application 
output that is new/different in parallel mode:

>       Number of chains on processor 1 = 2
>       Number of chains on processor 2 = 2

Thanks again for the tip. Next step up is integrating it all within the 
cluster scheduler/DRM.


Christopher Smith wrote:

> There seem to be #if defined(MPI_ENABLED) blocks within the source files,
> but the MPI makefile doesn't define this macro (is it supposed to be defined
> by mpicc?). You probably need -DMPI_ENABLED in your CFLAGS.
> -- Chris
> On 29/9/04 07:02, "Chris Dagdigian" <dag@sonsorol.org> wrote:
>>Hi folks,
>>I'm looking for pointers on getting mrbayes to take advantage of
>>MPICH-1.2.6 when doing Markov Chain Monte Carlo (MCMC) analysis.
>>As far as I can tell the 'mb' binary that compiled cleanly against
>>mpich-1.2.6 (ch_p4 transport device) using 'mpicc' behaves exactly the
>>same as 'mb' compiled without MPI support :)
>>The mrbayes manuals are not exactly helpful. The basic summary of the
>>manual regarding parallel operation goes like this: "You can use Pooch
>>to run MCMC analysis tasks on multiple Apple machines and it will
>>compile for MPICH". That's about it.
>>Launching the 'mb' binary with mpirun causes the app to seemingly only
>>run on the the node where mpirun was invoked. There is no sign that the
>>app is honoring the machines file or doing anything on a remote system.
>>I'm missing something simple and obvious here. Any tips would be
>>Info I'd appreciate if anyone has it:
>>1. Makefile examples for MB using LAM-MPI or MPICH
>>2. Does MCMC output in any way let you know that it is running in
>>parallel mode? Is there anything unique about the output that would tell
>>me the MPI method is being used? What sorts of processes will be started
>>on remote machines?
>>3. mpirun examples for mrbayes or any integration/usage scripts used to
>>run the app in a parallel environment.
>>4. any other debugging, verbose logging or troubleshooting tips