Writing libraries in MPI
Anthony Skjellum, Nathan Doss, Purushotham Bangalore · 2002
MPI is the new de facto standard for multicomputer and cluster message passing. This short paper describes the issues underlying the development of parallel libraries with MPI. We motivate the need for parallel libraries, and explain why common message-passing systems do not support them. We describe added features needed to support libraries, and what these features are called in MPI. We mention additional features of MPI that support libraries, but which are beyond the scope of this initial paper on this topic. We provide guidelines in terms of "do's" and "don'ts" for would-be MPI library writers. We present a linear algebra library in skeletal form on a two-dimensional virtual topology, including code fragments. We summarize by mentioning related work, and comment on future code development of parallel libraries under MPI as well as porting efforts of existing codes to the system.>