Версія 3.0 стандарту MPI офіційно видалила інтерфейс C ++ (він раніше був застарілий). Хоча впровадження можливо все ще підтримує його, нові функції в MPI-3 не мають інтерфейсу C ++, визначеного в стандарті MPI. Докладнішу інформацію див. На веб-сайті http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ .
Мотивацією для видалення інтерфейсу C ++ з MPI було те, що він не мав значущого значення для інтерфейсу C. Окрім "s / _ / :: / g" було дуже мало відмінностей, і багато можливостей, до яких звикли користувачі C ++, не були використані (наприклад, автоматичне визначення типу за допомогою шаблонів).
Оскільки хтось, хто бере участь у Форумі MPI та працює з низкою проектів C ++, які реалізували власний C ++ інтерфейс до функцій MPI C, я хотів би знати, які бажані особливості інтерфейсу C ++ до MPI. Хоча я нічого не беру на себе, мені було б цікаво побачити реалізацію окремого інтерфейсу MPI C ++, який відповідає потребам багатьох користувачів.
І так, я знайомий з Boost :: MPI ( http://www.boost.org/doc/libs/1_54_0/doc/html/mpi.html ), але він підтримує лише функції MPI-1, і модель серіалізації буде надзвичайно складно підтримати RMA.
Один із інтерфейсів C ++ до MPI, який мені подобається, - це елемент Elemental ( https://github.com/poulson/Elemental/blob/master/src/core/imports/mpi.cpp ), тож, можливо, люди можуть надати певну підтримку підхід. Зокрема, я думаю, що MpiMap вирішує суттєву проблему.