Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] User Interface for MPMD
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2012-08-10 17:42:28


Ah, I was wrong: it wasn't Adam Moody -- it was Marc Snir's proposal. It's MPI Forum 3.0 ticket #313:

    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/313

Download the 313.pdf to see the changes for this proposal. It did pass and will be part of MPI-3.0.

Basically, MPI now defines a pre-defined MPI_Info object named MPI_INFO_ENV containing the information that you are looking for.

***NOTE: the MPI_INFO_ENV name is different than what is shown in the 313.pdf -- see the MPI-3 draft doc document for the final/official text: http://meetings.mpi-forum.org/MPI_3.0_main_page.php).

On Aug 10, 2012, at 4:45 PM, Jeff Squyres wrote:

> I swear that there was an MPI-3 proposal for just about exactly this issue (because there is currently no MPI-standardized way to get this information).
>
> I honestly don't remember what happened to this proposal, but I know who made it (Adam Moody, from Livermore). I've just pinged him off list to find out what happened to that proposal.
>
> Stay tuned...
>
>
>
> On Aug 10, 2012, at 1:50 PM, Frank Kampe wrote:
>
>> OK. I think I am not being clear and am using the wrong terms. For example, suppose we launch and MPMD job:
>>
>> mpirun -np 1 a.out : -np 8 a.out2 : -np 512 a.out3
>>
>> There are three "instances" invoked here---that's info item(1). In other words, how many executables are started. Given MPMD mode, the entire set of apps belong to the same MPI_COMM_WORLD. So, MPI Task 0 is the MPI rank of the process executing a.out, MPI Task 1 is the 1st MPI rank for process(s) executing a.out2, and Task 9 is the 1st MPI rank for processes(s) executing a.out3. That's the info in item (2) below. Finally number of tasks for instance 1 is 1, for instance 2 is 8, and for instance 3 is 512---that's item (3).
>>
>> What user-callable interface does OpenMPI provide to get that information in a.out, a.out2, and a.out3 during run-time?
>>
>> Thanks.
>>
>> ________________________________________
>> From: users-bounces_at_[hidden] [users-bounces_at_[hidden]] on behalf of Ralph Castain [rhc_at_[hidden]]
>> Sent: Friday, August 10, 2012 12:00 PM
>> To: Open MPI Users
>> Subject: Re: [OMPI users] User Interface for MPMD
>>
>> I gather you don't want to use the MPI calls to get it? Perhaps it would help if we understood a little more about what you are trying to do.
>>
>> Or maybe we just aren't understanding the term "instance" - e.g., for #1, you want to know how many processes are executing in the job, yes?
>>
>> If that's correct, then the second question doesn't make sense to me - so I'm a little lost.
>>
>>
>> On Aug 10, 2012, at 9:49 AM, Frank Kampe <u2591_at_[hidden]> wrote:
>>
>>> No. I am looking for a user-callable function that will return information about the running OpenMPI MPMD program from within the running program---the information listed below in (1) -- (3).
>>>
>>> ________________________________________
>>> From: users-bounces_at_[hidden] [users-bounces_at_[hidden]] on behalf of Ralph Castain [rhc_at_[hidden]]
>>> Sent: Friday, August 10, 2012 11:15 AM
>>> To: Open MPI Users
>>> Subject: Re: [OMPI users] User Interface for MPMD
>>>
>>> I'm actually not sure I understand the question - are you talking about a programmatic API where an application wants to spawn an MPI program? Or an inter-program communication API that wants to tell another program some information? Or an API by which the app can tell MPI "I'm going to spawn N threads"? Or...?
>>>
>>>
>>> On Aug 10, 2012, at 9:00 AM, Gus Correa <gus_at_[hidden]> wrote:
>>>
>>>> On 08/10/2012 11:31 AM, Frank Kampe wrote:
>>>>> Are there any user level APIs to provide the following information to a running OpenMPI MPMD program:
>>>>>
>>>>> (1) Number of executable instances
>>>>>
>>>>> (2) 1st MPI Task rank of each instance
>>>>>
>>>>> (3) Number of MPI Tasks per instance
>>>>>
>>>>> Thank You
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> Hi Frank
>>>> Check 'man mpiexec', the --app file option, maybe also --rankfile.
>>>> The on process binding at the end may also help.
>>>> I hope this helps,
>>>> Gus Correa
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/