Vendor Interactions


Up: Status and Plans Next: Other Users Previous: Status and Plans

As described above, one of the motivations for MPICH's architecture was to allow vendors to use MPICH in developing their own proprietary MPI implementations. MPICH is copyrighted, but freely given away and automatically licensed to anyone for further development. It is not restricted to noncommercial use. This approach has worked well, and vendor implementations are now appearing, many incorporating major portions of MPICH code.

* IBM obtained an explicit license for MPICH and collaborated with us in testing and debugging early versions. During this time, MPI-F [19] appeared. This IBM implementation does not use the ADI, but maps MPI functions directly onto an internal IBM abstract device interface. Our contact at IBM was Hubertus Franke.
* SGI worked closely with us (see Section A Case Study ) to improve the implementation of the ADI for their Challenge and Power Challenge machines. Functions were added to IRIX to enable single-copy interprocess data movement, and SGI gave us lock-free queue-management routines in assembler language. Those involved at SGI were Greg Chesson and Eric Salo.
* Convex worked closely with us to optimize an implementation of the channel interface and then of the ADI. We worked with Paco Romero, Dan Golan, Gary Applegate, and Raja Daoud.
* Intel contributed a version of the ADI written directly for NX, bypassing the channel interface. The Intel person responsible was Joel Clarke.
* Meiko also contributed to the publicly distributed version a Meiko device, thanks to the efforts of Jim Cownie.
* Laurie Costello helped us adapt MPICH for the Cray vector machines.
* DEC has used MPICH as the foundation of a memory-channel-based MPI for Alpha clusters.

We obviously do not claim credit for the vendor implementations, but it does appear that we met our original goal of accelerating the adoption of MPI by vendors through providing them a running start on their implementations. The architecture of MPICH, which provided multiple layers without impact on performance, was the key.



Up: Status and Plans Next: Other Users Previous: Status and Plans