Writing parallel libraries with MPI - Common practice, issues, and extensions

Torsten Hoefler, Marc Snir

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Modular programming is an important software design concept. We discuss principles for programming parallel libraries, show several successful library implementations, and introduce a taxonomy for existing parallel libraries. We derive common requirements that parallel libraries pose on the programming framework. We then show how those requirements are supported in the Message Passing Interface (MPI) standard. We also note several potential pitfalls for library implementers using MPI. Finally, we conclude with a discussion of state-of-the art of parallel library programming and we provide some guidelines for library designers.

Original languageEnglish (US)
Title of host publicationRecent Advances in the Message Passing Interface - 18th European MPI Users' Group Meeting, EuroMPI 2011, Proceedings
Pages345-355
Number of pages11
DOIs
StatePublished - Sep 26 2011
Event18th European Message Passing Interface Users' Group Meeting, EuroMPI 2011 - Santorini, Greece
Duration: Sep 18 2011Sep 21 2011

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6960 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other18th European Message Passing Interface Users' Group Meeting, EuroMPI 2011
CountryGreece
CitySantorini
Period9/18/119/21/11

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Writing parallel libraries with MPI - Common practice, issues, and extensions'. Together they form a unique fingerprint.

  • Cite this

    Hoefler, T., & Snir, M. (2011). Writing parallel libraries with MPI - Common practice, issues, and extensions. In Recent Advances in the Message Passing Interface - 18th European MPI Users' Group Meeting, EuroMPI 2011, Proceedings (pp. 345-355). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 6960 LNCS). https://doi.org/10.1007/978-3-642-24449-0_45