Boost logo

Boost-MPI :

Subject: Re: [Boost-mpi] multiple irecv tests failure with MPI_ERR_TRUNCATE
From: Roy Hashimoto (roy.hashimoto_at_[hidden])
Date: 2014-02-21 20:52:40


On Fri, Feb 21, 2014 at 11:49 AM, Walter Woods <woodswalben_at_[hidden]>wrote:

> In Roy's case, especially the test file, the problem is having multiple
> irecv's happening. Lookat the underlying request::handle_serialized_irecv
> implementation in boost/mpi/communicator.hpp - one recv is accomplished
> through several MPI_IRecv requests issued in sequence. If you have several
> irecvs running at once, then one is likely to get the other's data as its
> length.
>

Thanks for your reply and looking at the boost::mpi source - I haven't got
that far. I understand what you're saying, but the first few paragraphs of
this page:

 http://www.mpi-forum.org/docs/mpi-1.1/mpi-11-html/node41.html

seems to indicate that MPI guarantees that sends and recvs are kept ordered
on a single-threaded process not using MPI_ANY_SOURCE. If that is the case
then boost::mpi should as well.

> In other words, if you want to receive multiple messages in the same tag,
> be sure to only have one IRecv() with that tag running at a time. Data may
> only be transferred serially (not in parallel) over a single tag anyhow.
>

I did change my development code to do this.

Hope that helps,
>
Walt
>

It does, thanks!

Roy



Boost-Commit list run by troyer at boostpro.com