La version 3.0 de la norme MPI a officiellement supprimé l'interface C ++ (elle était auparavant obsolète). Bien que les implémentations puissent toujours le prendre en charge, les fonctionnalités qui sont nouvelles dans MPI-3 n'ont pas d'interface C ++ définie dans la norme MPI. Voir http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ pour plus d'informations.
La motivation pour supprimer l'interface C ++ de MPI était qu'elle n'avait aucune valeur significative sur l'interface C. Il y avait très peu de différences autres que "s / _ / :: / g" et de nombreuses fonctionnalités auxquelles les utilisateurs C ++ sont habitués n'étaient pas utilisées (par exemple la détermination automatique de type via des modèles).
En tant que personne qui participe au Forum MPI et travaille avec un certain nombre de projets C ++ qui ont implémenté leur propre interface C ++ aux fonctions MPI C, je voudrais savoir quelles sont les caractéristiques souhaitables d'une interface C ++ à MPI. Bien que je ne m'engage à rien, je serais intéressé à voir la mise en œuvre d'une interface MPI C ++ autonome qui répond aux besoins de nombreux utilisateurs.
Et oui, je connais Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ) mais il ne prend en charge que les fonctionnalités MPI-1 et le modèle de sérialisation serait extrêmement difficile à supporter pour RMA.
Une interface C ++ vers MPI que j'aime est celle d'Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ) donc peut-être que les gens peuvent fournir des avantages et des inconvénients qui approche. En particulier, je pense que MpiMap résout un problème essentiel.