Life would be so much easier if only we had the source code...
Home -> Teaching -> MPI Tutorials -> ICS'13
MPI Tutorials

  Full CV [pdf]


  Past Events

Advanced MPI at International Supercomputing Conference ICS'13

Advanced Parallel Programming with MPI


  Pavan Balaji, Argonne National Laboratory
  Torsten Hoefler, ETH Zurich



The Message Passing Interface (MPI) has been the de facto standard for parallel programming for nearly two decades now. However, a vast majority of applications only rely on basic MPI-1 features without taking advantage of the rich set of functionality the rest of the standard provides. Further, with the advent of MPI-3 (to be released September 2012), a vast number of new features are being introduced in MPI, including efficient one-sided communication, support for external tools, non-blocking collective operations, and improved support for topology-aware data movement. This is an advanced-level tutorial that will provide an overview of various powerful features in MPI, especially with MPI-2 and MPI-3.

Detailed Description

Tutorial Goals

MPI is widely recognized as the de facto standard for parallel programming. Even though knowledge of MPI is increasingly becoming a prerequisite for researchers and developers involved in parallel programming institutes, including universities, research labs, and the industry, very few institutes offer formal training in MPI. The goal of this tutorial is to educate users with advanced programming knowledge in MPI and equip them with the knowledge of powerful techniques present in various MPI versions including the upcoming MPI-3 standard. If the committee members have other suggestions, the presenter will be happy to incorporate them. Based on these emerging trends and the associated challenges, the goals of this tutorial are:

  • Providing an overview of current large-scale applications and data movement efficiency issues they are facing
  • Providing an overview of the advanced powerful features available in MPI-2 and upcoming in MPI-3
  • Ilustrating how scientists, researchers and developers can use these features to design new applications

Targeted audience

This tutorial is targeted for various categories of people working in the areas of high performance communication and I/O, storage, networking, middleware, programming models, and applications related to high-end systems. Specific audience this tutorial is aimed at include:

  • Scientists, engineers, and researchers working on the design and development of next generation high-end systems including clusters, data centers, storage centers
  • System administrators of large-scale clusters
  • Developers of next generation middleware and applications

serving:© Torsten Hoefler