La versión 3.0 del estándar MPI eliminó formalmente la interfaz C ++ (anteriormente estaba en desuso). Si bien las implementaciones aún pueden admitirlo, las características que son nuevas en MPI-3 no tienen una interfaz C ++ definida en el estándar MPI. Consulte http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ para obtener más información.
La motivación para eliminar la interfaz C ++ de MPI fue que no tenía un valor significativo sobre la interfaz C. Hubo muy pocas diferencias además de "s / _ / :: / g" y no se emplearon muchas características a las que los usuarios de C ++ están acostumbrados (por ejemplo, la determinación automática de tipos mediante plantillas).
Como alguien que participa en el Foro MPI y trabaja con una serie de proyectos C ++ que han implementado su propia interfaz C ++ para las funciones MPI C, me gustaría saber cuáles son las características deseables de una interfaz C ++ para MPI. Si bien no me comprometo a nada, me interesaría ver la implementación de una interfaz MPI C ++ independiente que satisfaga las necesidades de muchos usuarios.
Y sí, estoy familiarizado con Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ) pero solo es compatible con las funciones MPI-1 y el modelo de serialización sería extremadamente difícil de soportar para RMA.
Una interfaz de C ++ para MPI que me gusta es la de Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ) para que tal vez la gente pueda proporcionar algo de información enfoque. En particular, creo que MpiMap resuelve un problema esencial.