Argonne National Laboratory

Processing MPI Datatypes Outside MPI

TitleProcessing MPI Datatypes Outside MPI
Publication TypeConference Paper
Year of Publication2008
AuthorsRoss, RB, Latham, R, Gropp, WD, Lusk, EL, Thakur, R
Conference Name16th EuroPVM/MPI Users, Lecture Notes in Computer Science, Springer
Date Published11/2008
Conference LocationEspoo, Finland, 2009

The MPI datatype functionality provides a powerful tool for describing structured memory and file regions in parallel applications, enabling noncontiguous data to be operated on by MPI communication and I/O routines. However, no facilities are provided by the MPI standard to allow users to efficiently manipulate MPI datatypes in their own codes. We present MPITypes, an open source, portable library that enables the construction of efficient MPI datatype processing routines outside the MPI implementation. MPITypes enables programmers who are not MPI implementors to create efficient datatype processing routines. We show the use of MPITypes in three examples: copying data between user buff ers and a \"pack\" bu ffer, encoding of data in a portable format, and transpacking. Our experimental evaluation shows that the implementation achieves rates comparable to existing MPI implementations.