Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] How to specify hosts for MPI_Comm_spawn
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-08-04 12:06:17


On Aug 4, 2008, at 11:45 AM, Mark Borgerding wrote:

> But I think I've got a path forward. I've been able to use sockets
> and MPI_Comm_join to create intercomms between the singleton and
> mpirun-spawned children. The important step I was missing was
> "orted --persistent --seed --scope public". Now the MPI_Comm_join
> calls in different worlds can see each other.

Good!

> FWIW, this technique just works in LAM, presumably because lamboot
> is an explicit step.

Yes. LAM's universe is [mostly] statically defined during lamboot.
New MPI processes that come into existence get a unique "name" and
therefore the uniques issues surrounding the MPI-2 dynamics are
handled easily. In OMPI, we didn't have a "global" daemon that
handles these kinds of things by default, so you have to launch it
manually.

> I've almost got my head wrapped around the technique in
> http://www.open-mpi.org/community/lists/users/2007/10/4327.php
> Are there any shortcuts I could take for the case where all the
> clients are already in a group?

If they're all created as a result of individual JOINs, I don't think
so.

That being said, I should throw in the pitch that the MPI Forum is in
the process of defining MPI-3. If you have a new dynamic process
pattern that would be useful, I encourage you to submit a proposal to
the Forum for consideration to MPI-3 (or heck, join the Forum and
become part of the discussion!). Perhaps a new function
MPI_JOIN_MANY? :-)

-- 
Jeff Squyres
Cisco Systems