In der Version 3.0 des MPI-Standards wurde die C ++ - Schnittstelle formal gelöscht (sie war zuvor veraltet). Während Implementierungen dies möglicherweise weiterhin unterstützen, ist für die in MPI-3 neueren Funktionen keine C ++ - Schnittstelle im MPI-Standard definiert. Weitere Informationen finden Sie unter http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ .
Die Motivation zum Entfernen der C ++ - Schnittstelle aus MPI war, dass sie keinen signifikanten Wert gegenüber der C-Schnittstelle hatte. Abgesehen von "s / _ / :: / g" gab es nur sehr wenige Unterschiede, und viele Funktionen, an die C ++ - Benutzer gewöhnt sind, wurden nicht verwendet (z. B. automatische Typbestimmung über Vorlagen).
Als jemand, der am MPI-Forum teilnimmt und mit einer Reihe von C ++ - Projekten arbeitet, die eine eigene C ++ - Schnittstelle für die MPI-C-Funktionen implementiert haben, möchte ich wissen, was die wünschenswerten Merkmale einer C ++ - Schnittstelle für MPI sind. Während ich mich zu nichts verpflichte, wäre ich an der Implementierung einer eigenständigen MPI C ++ - Schnittstelle interessiert, die die Anforderungen vieler Benutzer erfüllt.
Und ja, ich kenne Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ), aber es werden nur MPI-1-Funktionen unterstützt und das Serialisierungsmodell wäre extrem schwer für RMA zu unterstützen.
Eine C ++ - Schnittstelle zu MPI, die ich mag, ist die von Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ), also können die Leute vielleicht ein paar Pro und Contra-Funktionen bereitstellen Ansatz. Insbesondere denke ich, dass MpiMap ein wesentliches Problem löst.