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
MPI is a library specification for message-passing, proposed as a standard by a broadly based committee of vendors, implementors, and users. The MPI standard is available. MPI was designed for high performance on both massively parallel machines and on workstation clusters.
Message Passing Interface (MPI) is a communication protocol for parallel programming. MPI is specifically used to allow applications to run in parallel across a number of separate computers connected by a network.
The global Multidimensional Poverty Index (MPI) is an international measure of acute multidimensional poverty covering over 100 developing countries.
It is a library that runs with standard C or Fortran programs, using commonly-available operating system services to create parallel processes and exchange information among these processes. MPI is designed to allow users to create programs that can run efficiently on most parallel architectures.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With