Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Using ompi_proc_t's proc_name.vpid as Universal rank
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-11-30 16:57:31


MPI_COMM_WORLD rank is exactly the vpid.

But keep in mind that when you MPI_COMM_SPAWN, they get a new
MPI_COMM_WORLD (with ranks that start with 0). Hence, with the advent
of dynamic processes in MPI-2, a process' rank in MPI_COMM_WORLD is no
longer unique (which is why OMPI uses more than that internally to
tell MPI processes apart).

On Nov 30, 2007, at 4:41 PM, Sajjad Tabib wrote:

>
> Hi,
>
> Thanks for the clarification. So, now I am wondering how rank
> information regarding processes in MPI_COMM_WORLD are assigned. Is
> there a table that stores unique integer values for processess or is
> rank assignment done in some other manner?
>
> Thanks,
>
> Sajjad Tabib
>
>
>
> Tim Prins <tprins_at_[hidden]>
> Sent by: devel-bounces_at_[hidden]
> 11/30/07 07:22 AM
> Please respond to
> Open MPI Developers <devel_at_[hidden]>
>
> To
> Open MPI Developers <devel_at_[hidden]>
> cc
> Subject
> Re: [OMPI devel] Using ompi_proc_t's proc_name.vpid as Universal rank
>
>
>
>
>
> Hi Sajjad,
>
> The vpid is not unique. If you do a comm_spawn then the newly launched
> processes will have a new jobid, and their vpids will start at 0. So
> the
> whole process name is unique.
>
> However, there is talk now of being able to join 2 jobs that were
> started completely independently. This may lead to the point where a
> process name is no longer unique, however this work appears to be a
> ways
> out and as far as I know no decisions have been made on it yet.
>
> Hope this helps,
>
> Tim
>
> Sajjad Tabib wrote:
> >
> > Hello,
> >
> > I have a proprietary transport/messaging layer that sits below an
> MTL
> > component. This transport layer requires OpenMPI to assign it a rank
> > that is unique and specific to that process and will not change from
> > execution to termination. In a way, I am trying to find a one-one
> > correspondence between a process's universal rank in OpenMPI and
> this
> > transport layer. I began looking at ompi_proc_t from different
> processes
> > and seemingly found a unique identifier, proc_name.vpid.
> Consequently, I
> > assigned the ranks to each process in my transport layer based on
> the
> > value of the local vpid of each process.
> > I have not tested this thoroughly, but it has been working so far.
> > Although, I would like to make sure that this is a good approach, or
> > know, at least, whether if there are other ways to do this. I would
> > appreciate it if you could leave me feedback or give suggestions
> on how
> > to assign universal ranks to a proprietary transport software.
> >
> > Thanks for your help,
> >
> > Sajjad Tabib
> >
> >
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > devel mailing list
> > devel_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
Cisco Systems