Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Dynamic process tutorials?
From: Ralph Castain (rhc_at_[hidden])
Date: 2010-07-12 11:29:45

On Jul 12, 2010, at 9:07 AM, Brian Budge wrote:

> Hi Jody -
> Thanks for the reply. is there a way of "fusing" intercommunicators?
> Let's say I have a higher level node scheduler, and it makes a new
> node available to a COMM that is already running. So the master
> spawns another process for that node. How can the new process
> communicate with the other already started processes?

They can connect/accept via ompi-server - checkout "man ompi-server". You can also have them all rendezvous at a common mpirun if you prefer by using the appropriate mca param to give the required contact info.

> Also, how can you specify with MPI_Comm_spawn/multiple() how do you
> specify IP addresses on which to start the processes?

Look at "man MPI_Comm_spawn"

> If my higher level node scheduler needs to take away a process from my
> COMM, is it good/bad for that node to call MPI_Finalize as it exits?

The entire job will automatically abort if it fails to call Finalize as this is considered an abnormal termination event.

> I would prefer not to use any of the MPI command-line utilities
> (mpirun/mpiexec) if that's possible.

Not possible at the moment. I have provided a patch to another user on this list that made it possible to use ompi-server as a rendezvous point for singletons, but that isn't in any formal release yet.

> Thanks,
> Brian
> On Sat, Jul 10, 2010 at 11:53 PM, jody <jody.xha_at_[hidden]> wrote:
>> Hi Brian
>> When you spawn processes with MPI_Comm_spawn(), one of the arguments
>> will be set to an intercommunicator of thes spawner and the spawnees.
>> You can use this intercommunicator as the communicator argument
>> in the MPI_functions.
>> Jody
>> On Fri, Jul 9, 2010 at 5:56 PM, Brian Budge <brian.budge_at_[hidden]> wrote:
>>> Hi all -
>>> I've been looking at the dynamic process features of mpi-2. I have managed
>>> to actually launch processes using spawn, but haven't seen examples for
>>> actually communicating once these processes are launched. I am additionally
>>> interested in how processes created through multiple spawn calls can
>>> communicate.
>>> Does anyone know of resources that describe these topics? My google-fu must
>>> not be up to par :)
>>> Thanks,
>>> Brian
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
> _______________________________________________
> users mailing list
> users_at_[hidden]