Belal Medhat
Belal Medhat

Reputation: 373

C++ MPI standard 3

MPI standard 3 was released in 2011 with no C++ bindings ! my question is how to program distributed computing in C++ without MPI (note we need also OpenMP CUDA Openacc) is there an alternative to MPI in C++ (not MPI 2.2, boost MPI)? is MPI built on TCP/IP so i can build my own way using TCP/IP in C++ ?

is there open source binding to MPI 3 for C++ ?

or just you must stick to C GTK+ CUDA OpenMP OpenGL MPI 3

what if you want C++ QT CUDA OpenMP OpenGL + distributed computing API ?

Ubuntu and many Linux distros seeks to replace Xserver with Wayland and MIR both will write special API and layer to create context for OpenGL desktop to replace GLX also GTK+ will has MIR Wayland integeration so on Linux if something changed some people and groups try to fix it try to develop new solution

but MPI 3 C++ binding i don't find a solution to it

Upvotes: 5

Views: 2473

Answers (1)

Jeff Hammond
Jeff Hammond

Reputation: 5652

The official recommendation is to use the C bindings, for the reasons given in the comments. The only loss of functionality here pertains to exceptions and you won't miss it because no implementation was fault-tolerant in the MPI-2 era anyways.

Boost::MPI is nice but supports very few features (the most popular ones).

Rolling your own C++ wrappers is encouraged. Elemental (libelemental.org) has a nice set that do magic with type inference.

I have some personal interest in developing a new set of C++ bindings but haven't had time to make progress. There's a StackExchange Computational Science post with a detailed discussion to which you might contribute.

Upvotes: 5

Related Questions