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
