The need for a consistent set of message-passing instructions spawned the MPI Standard, which was first created from 1992 to 1994 by the MPI Forum. (For more on the history of MPI, see MPI – enabling the world’s fastest computers. To explore the history of this standard, visit the Message Passing Interface Forum.)
“MPICH is primarily an Argonne effort,” says Rusty Lusk, Argonne National Laboratory Distinguished Fellow and director of the lab’s mathematics and computer science division.
Lab researchers started working on their first MPI implementation at the MPI Forum in 1992 and helped vendors get started using it, Lusk says. He and his colleagues pursued a second implementation in 1998 and produced MPICH2 about two years later.
Instead of simply updating the roughly 100,000 lines of code that made up the first version, the Argonne team decided, “to start from scratch because we’d learned so much since creating the first implementation,” Lusk says. Still, he considers MPICH2 to be a continuation of MPICH, even though the former does not share code with the latter.
For all aspects of high-performance computing, Lusk says, success comes from teamwork. “We couldn’t have as good of a system without the help of a variety of users who help us uncover a wide range of research problems.”