[MPICH2-dev] mpd client library and protocol?

William Gropp gropp at mcs.anl.gov
Tue May 16 23:21:12 CDT 2006


At 11:15 PM 5/16/2006, Greg Watson wrote:
>Rajeev,
>
>Many thanks for your reply. Can you suggest the best approach if I
>want to write a C program to control mpd? At a minimum, I'd like to
>be able to spawn/terminate an MPI job using a C program. Is PMI what
>I'd use to do this?
>
>Any documentation you could provide would be appreciated.

An alternative is to not use MPD at all and to use the PMI interface.  A C 
example of this is the "gforker" process manager; this is built using a set 
of utility routines in mpich2/src/pm/util that provide the "other" side of 
the simple PMI interface.  gforker implements all of the PM functions, 
including spawning MPI jobs.  Let me know if this is the direction in which 
you are interested.

Bill


>Thanks,
>
>Greg
>
>On May 16, 2006, at 7:56 PM, Rajeev Thakur wrote:
>
>>Greg,
>>
>>>I assume that mpdlib.py is a client library that other applications
>>>(i.e. other than mpiexec) could potentially use to communicate with
>>>and/or control mpd.
>>>
>>>1. Is there any API documentation?
>>
>>The API is the Process Manager Interface (PMI), which is the interface
>>MPICH2 uses for interacting with process managers. There is some
>>documentation for it, which I could send you if you like (it may
>>not be 100%
>>up to date).
>>
>>>2. Is there a C version of the client library?
>>
>>The PMI library is in C. It is implemented in src/pmi/simple/ simple_pmi.c.
>>
>>>3. Is the mpd protocol documented anywhere?
>>
>>Not currently, but the plan is to :-).
>>
>>>4. Is the protocol used by mpd the same as that used by smpd?
>>
>>No, they are different.
>>
>>Rajeev

William Gropp
http://www.mcs.anl.gov/~gropp 




More information about the mpich2-dev mailing list