...and, as I told Jeff on the phone, I already signed up to implement it for the 1.7 series :-)
Should get to it next week. In the interim, you could access that data directly from the ORTE structures, but it would be a tad ugly - probably easier for me to get this implemented for you if your timing can wait. On Aug 10, 2012, at 2:42 PM, Jeff Squyres <[email protected]> wrote: > 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: [email protected] [[email protected]] on behalf of >>> Ralph Castain [[email protected]] >>> 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 <[email protected]> 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: [email protected] [[email protected]] on behalf of >>>> Ralph Castain [[email protected]] >>>> 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 <[email protected]> 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 >>>>>> [email protected] >>>>>> 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 >>>>> [email protected] >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>>> _______________________________________________ >>>> users mailing list >>>> [email protected] >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> _______________________________________________ >>>> users mailing list >>>> [email protected] >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> >>> _______________________________________________ >>> users mailing list >>> [email protected] >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> _______________________________________________ >>> users mailing list >>> [email protected] >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> -- >> Jeff Squyres >> [email protected] >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> >> _______________________________________________ >> users mailing list >> [email protected] >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > > -- > Jeff Squyres > [email protected] > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > > _______________________________________________ > users mailing list > [email protected] > http://www.open-mpi.org/mailman/listinfo.cgi/users
