Creating a new comm

Pete Wyckoff pw at osc.edu
Tue Oct 9 22:53:58 EDT 2007


jbernstein at penguincomputing.com wrote on Tue, 09 Oct 2007 15:29 -0700:
> 	How hard is it to teach mpiexec about a new comm? I'd like to write 
> 	a comm method for bproc. Is there an API or anything I can pour through 
> that would show me what would need to be done? Thanks.

There's actually not much that is required.  Mostly boilerplate.
Grab the SVN and do "svn diff -c 402" to see a nice small example.
The trick is just to set the right env vars for the processes.  Some
startup models need more work though.  See ib.c or pmi.c for two
massively different examples.

I'm not familiar with how mpich/bproc works.  You should take a
look at the mpirun that comes with it, and at the MPID_Init function
in mpid_bproc (or whatever).  If you have web pointers to these
things, others can double check that you're headed in the right
direction.

You said in http://email.osc.edu/pipermail/mpiexec/2007/000861.html:
> I know that when MPICH is using the bproc comm, MPICH makes a 
> bproc_exec(<node_number> call to move the job to the remote node.
> After the jobs get to the node and fork, I'm not sure what startup method
> they use after that.

I'm not sure if it is not too late at that point.  You'll have to
read the mpich/bproc sources and see.

		-- Pete


More information about the mpiexec mailing list