Wersja 3.0 standardu MPI formalnie usunęła interfejs C ++ (wcześniej był przestarzały). Chociaż implementacje mogą nadal go obsługiwać, funkcje nowe w MPI-3 nie mają interfejsu C ++ zdefiniowanego w standardzie MPI. Więcej informacji można znaleźć na stronie http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ .
Motywacją do usunięcia interfejsu C ++ z MPI było to, że nie miał on znaczącej wartości w stosunku do interfejsu C. Było bardzo niewiele różnic innych niż „s / _ / :: / g” i wiele funkcji, do których przyzwyczajeni są użytkownicy C ++, nie było wykorzystywanych (np. Automatyczne określanie typu za pomocą szablonów).
Jako ktoś, kto uczestniczy w Forum MPI i pracuje z wieloma projektami C ++, które zaimplementowały własny interfejs C ++ do funkcji MPI C, chciałbym wiedzieć, jakie są pożądane cechy interfejsu C ++ do MPI. Chociaż nic się nie zobowiązuję, chciałbym zobaczyć wdrożenie samodzielnego interfejsu MPI C ++, który spełnia potrzeby wielu użytkowników.
I tak, znam Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ), ale obsługuje on tylko funkcje MPI-1, a model serializacji byłby niezwykle trudne do obsługi RMA.
Jeden interfejs C ++ do MPI, który mi się podoba, to interfejs Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ), więc być może ludzie mogą podać jakieś pro i con wrt, że podejście. W szczególności myślę, że MpiMap rozwiązuje istotny problem.