higher-level interface
It might be worth thinking about what a higher-level interface would look like. Here is some interesting discussion of possible C++ interfaces: https://github.com/mpi-forum/mpi-issues/issues/288
It might be worth thinking about what a higher-level interface would look like. Here is some interesting discussion of possible C++ interfaces: https://github.com/mpi-forum/mpi-issues/issues/288
I like this idea. It would be great if there was an AbstractComm
interface that could be satisfied with MPI.jl or something else such as
a simple SelfComm.
Note that there is already a higher-level interface, modelled after Python's high-level MPI interface. For example, it's quite easy to send arbitrary objects to arbitrary processes.
That's true: it would be good to extend beyond what is currently available, and document them better. They do have a noticeable performance overhead though, due to serialization and lack of type inference.
I would be interested in tighter integration with the Julia parallel machinery. Some are simple, i.e we could define Base.wait(r::Request) = MPI.Wait!(r), but there is room for more interesting things. For example, in CliMA, @lcw and @vchuravy have done some interesting stuff combining non-blocking with Julia Tasks that might be made into something more general.