Skip to content

Interface to Replace PMPI

Marc-Andre Hermanns edited this page Oct 13, 2017 · 7 revisions

A replacement of the PMPI interface

Motivation

While the PMPI interface has served its purpose well over the years, several drawback have led to a redesign:

  • Weak symbol interception is OS dependent
  • Limits interception to a single tool
  • Tool is forced to be monolithic (single shared library)

Requirements

A replacement interface should fulfill the following requirements

  • No loss of functionality compared to existing PMPI
    • Complete coverage of MPI functions (except where exempted already in MPI-3)
    • Complete coverage of tool functionality (wrapping, changes to parameters, changes to routines, etc.)
    • Complete coverage of language bindings (C, mpif.h, use mpi, use mpi_f08)
  • Support multiple tools/libraries to attach
  • Low to no overhead when no tool/library is attached
  • Tools/libraries can be implemented in C (in one place) regardless of the language bindings intercepted
  • Integration of MPI thread support

Related tickets/issues

Issue #1

State of discussion

The current state of the discussion is kept in a slide deck.

Note: The slide deck is not designed to be read without further explanation.

Current version

Archive

Clone this wiki locally