|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r56203 - trunk/libs/mpi/doc
From: dgregor_at_[hidden]
Date: 2009-09-14 22:50:44
Author: dgregor
Date: 2009-09-14 22:50:44 EDT (Mon, 14 Sep 2009)
New Revision: 56203
URL: http://svn.boost.org/trac/boost/changeset/56203
Log:
Make MPI non-blocking semantics more clear
Text files modified:
trunk/libs/mpi/doc/mpi.qbk | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
Modified: trunk/libs/mpi/doc/mpi.qbk
==============================================================================
--- trunk/libs/mpi/doc/mpi.qbk (original)
+++ trunk/libs/mpi/doc/mpi.qbk 2009-09-14 22:50:44 EDT (Mon, 14 Sep 2009)
@@ -465,10 +465,18 @@
can be completed at the same time with the [funcref
boost::mpi::wait_all wait_all] operation.
-Important note: Unlike with the MPI C API one always has to wait for the
-completion of a request and cannot just discard the request, since the
-request object might contain temporary buffers that have to be kept
-until the send is completed.
+Important note: The MPI standard requires users to keep the request
+handle for a non-blocking communication, and to call the "wait"
+operation (or successfully test for completion) to complete the send
+or receive. Unlike most C MPI implementations, which allow the user to
+discard the request for a non-blocking send, Boost.MPI requires the
+user to call "wait" or "test", since the request object might contain
+temporary buffers that have to be kept until the send is
+completed. Moreover, the MPI standard does not guarantee that the
+receive makes any progress before a call to "wait" or "test", although
+most implementations of the C MPI do allow receives to progress before
+the call to "wait" or "test". Boost.MPI, on the other hand, generally
+requires "test" or "wait" calls to make progress.
If you run this program multiple times, you may see some strange
results: namely, some runs will produce:
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk