Processing MPI Datatypes Outside MPI

  • Authors:
  • Robert Ross;Robert Latham;William Gropp;Ewing Lusk;Rajeev Thakur

  • Affiliations:
  • Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, USA 60439;Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, USA 60439;Computer Science Department, University of Illinois at Urbana-Champaign, Urbana, USA 61801;Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, USA 60439;Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, USA 60439

  • Venue:
  • Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 buffers and a "pack" buffer, encoding of data in a portable format, and transpacking. Our experimental evaluation shows that the implementation achieves rates comparable to existing MPI implementations.