A versão 3.0 do padrão MPI excluiu formalmente a interface C ++ (ela foi descontinuada anteriormente). Embora as implementações ainda possam suportá-lo, os recursos novos no MPI-3 não possuem uma interface C ++ definida no padrão MPI. Consulte http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ para obter mais informações.
A motivação para remover a interface C ++ do MPI era não ter valor significativo sobre a interface C. Havia poucas diferenças além de "s / _ / :: / g" e muitos recursos aos quais os usuários do C ++ estão acostumados não foram empregados (por exemplo, determinação automática de tipo por meio de modelos).
Como alguém que participa do Fórum MPI e trabalha com vários projetos C ++ que implementaram sua própria interface C ++ para as funções MPI C, gostaria de saber quais são os recursos desejáveis de uma interface C ++ para MPI. Embora eu não me comprometa com nada, eu estaria interessado em ver a implementação de uma interface MPI C ++ independente que atenda às necessidades de muitos usuários.
E sim, eu estou familiarizado com o Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ), mas ele suporta apenas os recursos MPI-1 e o modelo de serialização seria extremamente difícil de suportar para RMA.
Uma interface C ++ para o MPI que eu gosto é a do Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ), para que talvez as pessoas possam fornecer alguns prós e contras de que aproximação. Em particular, acho que o MpiMap resolve um problema essencial.