Hello all,
I am implementing a program with one-sided communication using lam-mpi 7.0.3.
With MPI_Win_post, MPI_win_start, MPI_Win_complete and MPI_Win_wait has strong
synchronization, but I want to implement the program with weak synchronization
(or asynchronization), for example, process A try to put data to process B, but
the window is not opened by process B, now process A will block until the the
needed window is opened. Instead of that I want the process A doesn't block, it
runs further if the window is not ready, if this idea could be implemented. In
section 6.4.2 of the document of MPI-2 I have seen that MPI_Win_start, MPI_put,
even MPI_Win_complete could be nonblocking (completed) before any target process
called MPI_Win_post, but I am not clear how can I manipulate blocking and
nonblocking of these three calls. If anybody has idea or exprience about that.
Thanks in advance.
Best Regards
Zenghui Wu
University of Dortmund, Germany
|