MeDiPack – Message Differentiation Package

MeDiPack is a C++-library that handles for Algorithmic Differentiation (AD) the message passing interfaces. It sets up the correct handling of the reverse communication required by the AD tool. The design of MeDiPack is quite general such that new features can be introduced easily into all handled function. For operator overloading AD tools a generalized interface is provided such that these tools can be recognized by MeDiPack.

Currently MeDiPack handles 80% of the MPI 3.1 standard.


  • Full forward of the MPI 3.1 specification
  • AD handling for nearly all MPI functions
    • This includes:
      • Point to point communication
      • Collective communication
      • Blocking as well as non-blocking variants
      • User defined data types
    • This excludes (will be handled later):
      • One-Sided communication
      • IO functions

For a more detailed listing of the handled function see the Readme

MeDiPack is released as Open-Source under GPL3.
Documentation and Tutorials can be found here.

Most recent stable version: 1.0

Newsletter: (Same as for CoDiPack)
Lead Developers: Max Sagebaum
Responsibility: Prof. Nicolas R. Gauger