La versione 3.0 dello standard MPI ha eliminato formalmente l'interfaccia C ++ (era precedentemente deprecata). Sebbene le implementazioni possano ancora supportarlo, le funzionalità nuove in MPI-3 non hanno un'interfaccia C ++ definita nello standard MPI. Vedere http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ per ulteriori informazioni.
La motivazione per rimuovere l'interfaccia C ++ da MPI era che non aveva un valore significativo sull'interfaccia C. Vi erano pochissime differenze oltre a "s / _ / :: / g" e molte funzionalità alle quali gli utenti di C ++ sono abituati non sono state utilizzate (ad esempio, determinazione automatica del tipo tramite modelli).
Come qualcuno che partecipa al forum MPI e lavora con una serie di progetti C ++ che hanno implementato la propria interfaccia C ++ per le funzioni MPI C, vorrei sapere quali sono le caratteristiche desiderabili di un'interfaccia C ++ per MPI. Anche se non mi impegno per nulla, sarei interessato a vedere l'implementazione di un'interfaccia MPI C ++ autonoma che soddisfi le esigenze di molti utenti.
E sì, ho familiarità con Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ) ma supporta solo le funzionalità MPI-1 e il modello di serializzazione sarebbe estremamente difficile da supportare per RMA.
Un'interfaccia C ++ per MPI che mi piace è quella di Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ), quindi forse le persone possono fornire qualche pro e contro che approccio. In particolare, penso che MpiMap risolva un problema essenziale.