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?
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
>> 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 mailing list
> users mailing list
users mailing list