[MPICH] Porting the MPICH "back-end"

William Gropp gropp at mcs.anl.gov
Sat Jan 13 14:08:55 CST 2007


On Jan 12, 2007, at 12:45 PM, Daniel Marques wrote:

> Rajeev & Bill,
>
> Thanks for the replies.
>
> Before I get started with anything, I would like to gain some insight
> into the complexity of implementing my own MPICH backend.  From the
> documentation I saw on the web, it seems that the 'lower' parts of
> MPICH could be built to conform to one of two APIs, the ADI   or the
> channel interface.  One of the documents makes it seem that writing an
> implementation of the channel interface would be the easier of the
> two.  For MPICH 1, at least, it states that there are only five
> functions that one would need to implement.
> (http://www-unix.mcs.anl.gov/mpi/mpich1/papers/mpicharticle/ 
> node23.html#Node23)
>
> What I'd like to do (as a feasibility experiment, not the final goal)
> would be to build a very simple and low performance implementation
> that used a basic mechanism, e.g. the shared file system, for
> communication.  From my understanding of the above document, such an
> implementation should be relatively easy to develop.  Does that sound
> reasonable, or am I missing something crucial?
>
> Has the channel interface changed much since that document was
> written?  If not, is there anywhere a description of that API and
> notes on how to integrate a new implementation with the MPICH code
> base?
>
> Thanks for all your help.
>
> Dan
>
>
> On 1/12/07, William Gropp <gropp at mcs.anl.gov> wrote:
>> Hi,
>> In addition to some of the documentation that is available (and the
>> information on the web site), we'd be happy to talk to you about the
>> current state, answer questions that you may have about the design,
>> and even entertain changes that might make your project easier.
>>
>> Bill
>>
>> On Jan 8, 2007, at 8:33 PM, Daniel Marques wrote:
>>
>> > Hello.
>> >
>> > I'm new to MPICH, so please excuse if any of these questions have
>> > obvious answers or if my terminology is completely wrong.  I  
>> thank you
>> > for your help in advance.
>> >
>> > If I understand it correctly, MPICH is composed of a bunch of  
>> software
>> > layers - the idea being that MPICH can be ported to a new  
>> platform by
>> > providing a platform-specific implementation of one these lower  
>> layers
>> > and placing the rest of the MPICH stack above it.  Some of (the
>> > perhaps really outdated) information I read on the web makes it  
>> seem
>> > that the lowest such levels are or can be, rather simple.
>> >
>> > I'm interested in developing my own 'back-end' for MPICH (as a
>> > research implementation for testing various coordination protocols,
>> > etc.) and was wondering if there existed any resources  
>> describing the
>> > architecture of MPICH and exactly how one would go around  
>> implementing
>> > their own back end.  Any links, references to the code, pointers to
>> > previous discussions, etc, will be most appreciated.
>> >
>> > Thanks a lot!
>> >
>> > Dan
>> >
>>
>>
>




More information about the mpich-discuss mailing list